Clustering is for redundancy of the entire server, mirroring is for redundancy of individual databases. They both have their place and neither is a replacement for the other.
Neither is a scale-out/load balancing scenario. In a cluster, the database is on shared disks and only one node can own those disks and hence run the database at a time. In mirroring the mirror DB is no accessible unless you use a database snapshot, and even then it's read-only
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability