Icarus is a stripped down (no Metro or Cricket programs installed) and cleaned up (better optimized) version of the stock rom. It is faster and more efficient. It's biggest advantage over the stock is it's a2sd, which moves ALL (whether designed for it or not) apps to your sd card and will also move your Dalvik cache freeing up more memory on your phone. It is a huge improvement over stock. More after next quote.
CM6 is 2.2 FroYo. Pip has it fully functional, there is an mms fix that needs to be installed for MetroPcs but he is working on that. It comes overclocked to 710Mhz. ***Some phone (mine included) are not stable at 710. And Pip will be releasing non-overclocked versions with future builds. I did manage to get it up and running using setcpu to drop the speed but it was very time consuming, due to the reboots.
CM7 is 2.3 Gingerbread. It is almost fully functional. The known bugs are posted on the site. It comes running at 600Mhz but has the ability built in to overclock to 710.
If you want/need fully functional. I recommend CM6 and if you are one of the few that can't run it, then use Icarus. If the bugs with CM7 aren't something that you use then it is a very viable option for you as well.