I stayed in Kampot for 2 days. One day we visited Kep for a day, strolled National Park and chilled at the beach and second day we visited Bokor National Park close to Kampot, walked around the town and market. Everything is close by. Unfortunately there's no beach in Kampot, only the river but I wouldn't swim there. It's becoming more and more touristic so better to visit sooner than later.
Kep is close to Kampot and people usually stay in one of these places and visit the other one for a day trip. There is National Park with a very bad road so it's better to have a long walk from the entrance rather than a scooter ride. Kep, unlike Kampot, has a beach which is nice, there are barely any waves and is pleasant to relax there. If sun is too much there's an alley of trees just behind where locals come for picnic and meetups. Many food stalls around from noon till the evening, in the morning it's rather quiet and empty. National Park, guesthouses, markets and beach are scattered around the town.
Krabi is my favorite province in Thailand. There are many places to see, a few beautiful islands, delicious food, mountains and sun. You can try different sports, from rock climbing to windsurfing, hike mountains and visit temples. Everyone can find something suitable, prices vary and it's possible to find luxury hotels as well as budget accomodations.