No airline will fly extra hours + pay extra landing fees just “to fill the gaps”. These extra stops ARE the main service. For example AMS>PUJ>BON>AMS : when landed in Punta Cana around half of the passengers remain seated because they are going to Bonaire. The other half is filled with passengers who are actually going back to AMS via BON. Without one of these destinations they wouldn’t fly.
Yes, this was kind of the point above. As NAL pointed out as well, in EU (and apparently in the US), the extra stops in the Caribbean would be carried out by a feeder route, not via the main route going back to Europe. Exactly, Condor does the same, many departures from POP to FRA have first a stop in either SDQ or Montego Bay in Jamaica and then, with the passengers from both of these destinations boarded, they actually head back from the Caribbean towards EU and FRA. These stops add usually at least an extra hour to the trip for passengers from POP, but you can see the difference in the purchase price of the tickets, compared to a direct flight PUJ-FRA for example.
The airlines that can fly from Europe to the DR and back without extra stops are originating from regions in Europe that have enough demand or function as a hub (like Madrid).
So just to clarify, a large part of Condor routes Germany - the DR are direct routes if you look in total. PUJ obviously almost always fills their planes, so I have never seen a single service to PUJ with extra stops, whether it's from FRA or MUC, but POP definitely is lacking passengers at times, due to these extra stops.
Another clarification: it's not that FRA as an airport in Germany would not have a demand in this case (so the problem with demand is not in Europe, but in the DR=POP), I believe, but rather that nobody (sarcasm) from Europe wants to go to POP, everyone goes to PUJ. Planes to PUJ are direct (at least they used to be), and they even service PUJ from at least two airports in Germany, but POP is a less attractive option, so they need to share that with SDQ or Montego Bay.