We were tipped off to Cavtat by friends who'd stayed here previously. It's a great alternative to the overtouristed old town and higher prices of Dubrovnik, which we didn't care for as much (if you do go to Dubrovnik, stay in quiet Lapad for better accommodation and food at more reasonable prices, plus nice beaches nearby).
Cavtat reminded us of Italy a bit and it has a lot of charm. It's a small old town set on a lovely bay, where you can sit and watch the boats come in and enjoy a quieter time. There's a great walking trail around the peninsula, as well as some decent swimming places (we went behind the Hotel Croatia and swam off the rocks there). You can also hike the trails south to smaller villages (although beware of snakes!). You can take bus #10 for about $2 to Dubrovnik or take a water taxi there and back, so you could even do Dubrovnik as a day trip from Cavtat (we stayed 4 nights in both). Cavtat is less crowded and much more relaxed. Dubrovnik old town is overrun by cruise ships and filled with tacky shops, not to mention high-priced restaurants that aren't that great. Only drawback might be that Cavtat is in the flight path of the nearby airport, so you will see and hear planes coming in regularly, but we enjoyed that, too.
A lot of good restaurants. Great place for relaxation! No nightlife. Its a small town, so if you like a slow and relaxing pace this is the place for you, but if you get bored easily you should only stay a few days in Cavtat.
Good thing is that its close to Dubrovnik and there are lots of alternatives for day trips to different locations.