witness server - can be any PC
Cluster - will take off your user's connections
Mirror - will keep the connections on
Cluster - for Hardware failure
Mirror - for DR - and some reporting (via Snapshot on mirror) -> e.g to another location
A\P - need 1 Win and 1 sql server license
Mirror - 2 and 2
--
I used mirror between 2 locations - nothing happened for 6 months (it is good)-> mirror was broken and changed to logshipping ->
in many cases (feedback's) people are very happy
Cluster - is another story -> it is mostly for fault tolerance of Hardware
Let say - cluster is cluster
mirror is mirror