In busy SQL Server environments the TempDB database can be the database with the highest IO load. If row versioning is enabled, the IO load can be much higher than any other database - especially since TempDB is a shared resource used by all databases in a given instance.
Failover clustering has the requirement that all SQL Server databases be contained on the shared storage - including the TempDB. This doesn't make much sense to me, especially given the fact that TempDB does not persist across restarts of the SQL Engine. Also, the IOPS generated by a busy system's TempDB utilization can overburden a system's HBA and storage arrays, leading to slower disk performance for log and databasedatafile IO.
This problem is made even worse for a stretch/geo dispersed cluster where the TempDB IO is mirrored to the remote storage unnecessarily.