Regarding the question of "fairness", and that Western "models" are paid (sometimes quite a bit) for their photos to be taken, it's not exactly a comparable context: models have their pictures taken specifically for commercial reasons, and they know it ahead of time. It's a well-established business transaction. Models are also paid different amounts for different uses, and even in some cases (such as charitable organizations), some allow their photos used for free. Far down the ladder from the commercial side of photography, people often travel for documentary purposes, in which case, it is not only discouraged to pay for photos, but your photos won't be "accepted" (or considered to have journalistic integrity) if it were known that people were paid.
The increase in tourism to Cuba is a good example of how complex the problem is. Because of the duel-economy system Cuba has adopted, the government pays people in pesos, but most everyday items are purchased with US Dollars. Furthermore, the exchange rate between the two is disproportionate. This has the effect of people favoring activities that earn dollars over pesos.
Accordingly, people go where the money goes, and the trail starts at tourism. Whether that's selling artifacts, driving taxis, or (you guessed it) asking for money for photos, there will be a request for dollars. Asking for a dollar for a photo is easy compared to working in a factory for $0.20 a day (in peso-denominated currency). What happens to local work ethic in a society when people are less willing to have a job than to sit on a street corner and ask for a dollar for a photo?
Stuck in the middle of this confusion? What does this person do when approached to pay for photos? Which side of the argument is right? The truth is, both sides have legitimate and persuasive arguments. Therefore, it all comes down to where on the spectrum you are when you are faced with the issue.