I also have this question. I've found that the heaps (storing the table data) in our SQL Server instances gets very fragmented on large solutions. Rebuilding the indexes partly helps, but to organize the heap, a clustered index is needed.
As a workaround, I create temporary clustered indexes to let SQL Server organize the heap and then drop it again. I haven't done any testing if it could be harmful to keep the clustered indexes.