For a 5-7 night trip during the off-season, consider staying at the Hotel Santa Clara, Hotel Santa Teresa, Hotel Las Americas, Hilton, or InterContinental.
I would advise staying in either the La Boquilla or Castillogrande region in Cartagena if you have children under 5. If you have children over 5 but under 12, the old city (but not Getsemani) has a variety of appropriate boutique hotels. For instance, the Hotel Santa Clara is located close to lots of outdoor restaurants that are great for kids. These include a few of my favorites such as Juan del Mar Pizza and La Cevicheria. The Hotel Charleston Santa Teresa is another one of the nicest full-service hotels also located in the old city.
The Hilton has a complex in Laguito, about 10-15 minutes away from the old city by taxi. It has all the elements of an international resort chain. The decor of the resort seems a bit tired and the surrounding area (Laguito) can be dicey. Despite these flaws, it is worth staying here if you and your family plan on participating in the various water sports and maritime activities offered in Cartagena.
The InterContinental is much newer and fancier than the Hilton. It is located in Bocagrande, which is much closer to the old city.
Hotel Las Americas is on the other side of the airport. It is roughly 10-15 minutes away from the old city by taxi. Hotel Las Americas is an amazing place to stay with younger children. They offer babysitting services, kids camp options, an elaborate mini-golf course, a playground, and many beach activities. For the adults, there’s a great gym and spa with a hydrotherapy circuit that takes about 2 hours to complete. It also has an adults-only infinity rooftop pool bar and one of Cartagena’s best restaurants, Erre.
If you’re traveling in a group of 4 or more, or simply prefer the freedom that an apartment offers, there are many options. You can find great options on VRBO/Homeaway, OASIS, Houfy, Vacation Soup, and AIRBNB (including my very own). I would NOT recommend Booking.com for apartments. Once again, be sure to ask for the RNT number of the apartment and verify it on https://www.rues.org.co/rnt. For example, the RNT number for my property is 24166. When you click through after adding my number you can verify my name, the address of the property, Tax ID, and my contact information. Contact me privately and I can recommend other apartments whose owners I can vouch for as well!
Neighborhoods vary greatly in terms of style and size of apartments but most complexes have pools and some outdoor communal space. However, gyms are not as common. Also, be sure to check if there are A/C units in all of the rooms as central air is rare.
I personally recommend that guests stay in my neighborhood, La Boquilla. The beach is never crowded and it’s quiet, family oriented, and generally safe. Also, it’s only a 5 minute drive from the airport and a 10 minute drive to the old city.
For Your Consideration
I avoid going to Bocagrande and Castillogrande whenever possible as the commercial high rises and the crowded beaches tend to be overwhelming. Even still, there are lots of nice family-sized apartments in those neighborhoods that are within walking distance from lots of restaurants, grocery stores, and bars.
You will find some apartments in the old city as well, but keep in mind that because of the tourism regulations that make qualifying for permits in the old city and Getsemani much harder, many of the rentals you will find there are under-the-table, illegal rentals with associated risks.
I would also avoid Laguito as it is not a family appropriate area. Also, I would caution against Crespo, Marbella, and Cabrero if you have children. The beaches have dangerous riptides and crossing the highway to the beach can be challenging.