The only "gotchas" with SSD drives (that I'm aware of, anyway) are the cost (which I am sure will eventually come down) and the idea of doing a total erasure of the disk. Traditional "disk wipe" programs don't do well for SSDs, so if you aim to get rid of one that has sensitive data, your best bet is total destruction.
I have SSDs in both my PCs. One is about a year old and the other only a few months.
In Australia the price for a SATA3 SSD Corsair 128GB just over a year ago was $389. The Corsair Force 120GB SATA3 SSD currently retails off the shelf for $129. So they have come down significantly in price.
The earlier generations of SSDs had issues with wearing quickly, and "fragmented" unused data, (not to be confused with fragmentation on a normal HDD - HDD defrag is unnecessary on SSD), slowing speed down. After much research and discussions with Corsair, I'm satisfied that both these issues have been addressed in later models.
Corsair claim a life expectancy of 20 years with write/rewrite of 20GB/day. This is backed up by other third party research. Follow this link
here to a 200 page thread in Extreme Systems testing endurance. So the wearing is not an issue. Corsair advised that running an unconditional format will remove all data, short of a 4 pass military erasure; which they said the later generation SSDs would handle no problem. However, while I've done an unconditional format on the old SSD, with no apparent problems, I personally wouldn't bet the farm on the safety of a military clean not harming the SSD!
Also, Corsair have an inbuilt "Garbage collector", which coupled with the standard TRIM utility in Win7, (which auto initiates on install), combine to keep the SSD running at maximum speed without need for any third party programs.
These are links to posts in another thread in this forum with quotes from discussions with Corsair Tech Support:
Here and
here.
I personally use 3rd party Condusiv Diskeeper which has options specifically tailored to maintain maximum speed for SSDs. One feature is called "Intelliwrite" which writes data in such a way as to prevents data ever being "fragmented" in the first place. This is distinct from TRIM which deals with obsolete data unnecessarily occupying space. And different again to "defragging" by relocating data to maximize partially occupied data blocks.