Just got back from our cruise. We canceled our excursion in Progreso and decided to spend the day in the city. I did a lot of research ahead of time so we'd know where we were and what our options where.
We waited until about 9:30 to get off the ship. This kept us from being in the rush. We worked our way through the shopping on the dock. The vendors were not overbearing here. We rode the bus into town and got off at the bus station. From here we decided to see the Mercado (market) first. This is where the locals shop and eat lunch. Nobody in the Mercado was pushy at all. A lot of the food looked good and we saw some cruisers eating here. We just bought a couple of cokes as we were not ready to eat yet. The Mercado is dirty looking by American standards, but I don't think it was unclean.
From the Mercado we walked to the Malecon (beach road) and up the beach a short way. It was very hot and in the sun so we decided to turn back. We had been approached about a massage and decided to get one. My wife and I both got 40 minutes massages for $30 total. The massage was very good. It was under a tent so was in the shade and the sea breeze was very cool.
Afterwards, we went to Eladios (Calles 80/Malecon) and both had a drink and some free botanas (finger foods/snacks). Two drinks, snacks, and tip were about $10 total. All was very good. Walked up Calles 80 and went into Bolom Balam, which is a local leather store. I highly recommend a stop here. We went over to Calles 78 and by Sol y Mar, but didn't want to eat yet. We went by a few more vendors in the bus stop area. They were pretty insistent at times.
Ended up eating at Barlovento (Calles 80 - across from Bolom Balam). My wife had tacos and I had the pescado fritos (whole fried fish, freshly caught). Food was good, but was more expensive than I thought it should be. Finally figured out that they have a menu from cruisers and a local menu. Same food, different prices....not cool. Next time I would eat at Sol y Mar.
By now it's 1:30 so we worked our way to the bus and back to the port. Shopped at the port a little then got back on the ship.
We didn't do the double-decker because of the heat. We just felt zapped by it, but I guess because we were coming from cooler weather. Next time I would want to do the double-decker tour. Normally 85 wouldn't feel so hot. Also, the vendors can be pushy. Depending on your tolerance of this it might be a big deal for you. If you don't want to be bothered then stay away from the beach, except to get your massage. You definitely want the massage.
If you don't want to go on an excursion then enjoy Progreso for what it is. We had a fun day and it was a good experience seeing a local Mexican town just going about it's business. The locals were really nice and everywhere we went we felt safe.