Of course they have the right to see the cards, they've paid for it. However it is often considered bad etiquette and slows the game down. If you've already won the hand people expect it to just move on and continue. So simply put yes villain absolutely has the right to request to see the cards, but do people like to show a loser, no of course they don't.
Personally I would never begrudge someone who wants to see the cards when they've paid to see them, it helps them build a range.
In cash games it's not strongly enforced, but technically the rules on an all-in situation are pretty clear, cards on their backs face-up. In a tournament as a former dealer, I wouldn't place another card or award a pot until all hands were on their backs. In cash it's very dependent on the game, if a player who paid to see the cards requests I would always expose the hand, even if the losing player didn't want to. However with that said, if the player never requested and the losing player didn't want to expose their hand I would just award the pot and move on. I've also dealt many places that had a show one show all rule, which often annoyed players who mucked and showed their cards to their neighbour only to have a dealer expose them to the entire table.