SQL Server - Cluster vs Mirror for high availability?
If you have several databases, I recommend clustering. Mirroring is configured and managed per database, whereas clustering is configured and managed per instance. That's a very big (and potentially time-consuming) difference.
If you have other services, files in the filesystem, other resources outside of SQL that have to be present after a failover, then consider clustering. If you have several databases that have to be together, then consider clustering.
With mirroring it's just the DB that fails over, nothing more. With clustering the entire set of shared drives are available to the secondary server after a failover.
That said, one thing with clustering. There's only a single set of storage (usually). That's a single point of failure and is often the weak point.
Cluster is a good solution only for the SQL service (and other resources) EXCEPT Data, while mirroring duplicates your data, so if you have storage failure, the cluster is not enough.