I would suggest looking into the Marco Island marriott. It has a great pool, awesome beaches, great weather and service and staff were great! If you don't want to have to rent a car or car service (45 minutes from ft Myers airport), you should check out the marriott resort in Ft. Launderdale. Let me know what you decide!
Depending on where you are coming from "warm" is a relative term. I live in Phoenix and it can get cold in January, but definitely warmer than someplace up north. The JW Desert Ridge (cat 7) is a great resort, but you should also look at JW Camelback Inn (cat 7) and Phoenix Marriott Tempe at the Buttes (Cat 6, kind of off the beaten path). We had a great time at the Marriott Ft. Lauderdale time shares.
Absolutely love Camelback Inn. There are far too many excellent golf courses in and around Scottsdale, yet I find July to be the best time......yes it is hot and yes it is a dry heat, but drinking water constantly and avoiding any dehydrating drinks one can get some incredible rates in the PHX area.
My wife and I, along with neighbor couple, spent a week at Hilton Head Grande Ocean Villas (photo), and using our Marriott Vacation Club Points, last January, where the weather was quite nice. There is a Marriott Hotel - along with other villas - on the island also. The weather might not be warm enough quite yet then for swimming, but otherwise quite pleasant.
We stayed five nights, walked on the beach, rode bicycles, which you can rent at the villa, all over the island and enjoyed eating out at several island restaurants. Living in TN we're a bit partial to the S.C. beaches, but then we've enjoyed FL destinations - Panama City, Jacksonville, Ft. Lauderdale, etc., which would be warmer in January, but longer car ride for us.