The main differences I think are :
1. Solaris implements async I/O by default, HP UX supports it only via raw partitions.
2. In Solaris you can load kernel modules dynamically, in HP UX you will have to rebuild the kernel (HP UX 9,10). Patching frequently meant building a new kernel.
3. HP's high availability tool is MC-Service Guard. Shell script based, takes a fair amount of code to make work. Solaris' is called SunCluster. Version 2.2 was also script based. 3.0 and 3.1 are itegrated into the kernel.
see this links
Old thread and I'd like to comment: BelMan posted an excellent response, but the OP's question was very general.
This is a site I really like:
The Unix Rosetta Stone. In the upper left, use <CTRL>-click to choose HP-UX and Solaris. Then click "Draw table".
My company runs our main ERP databases on HP-UX but we maintain a lot of Solaris hosts. I'm always dealing with the differences between the two OSs, not to mention the 50 Linux servers we administer! Keeps things interesting.