John,
You are right - there are definitely a lot of things that need to be taken into the consideration when thinking about clustering - there are hardware costs, software costs, training / understanding issues. All this can definitely be a problem if it is not understood in the 1st place, when going into clustering.
That being said - Exchange clustering can be set up to be very reliable and scallable. We have done it internally at Microsoft. We do not have a single mailbox server anymore that is not clustered. More information on this process can be found here if you are interested:
http://www.microsoft.com/technet/itsolutions/msit/deploy/exchtcs.mspx
Not having servers on the cluster would not make the server consolidation story as feasible as it is now for us internally... so - while every implementation and solution can have issues (clustered or non-clustered) - there is a place for all of them, depending on what you need.