I prefer die rolls rather than hard skill requirements. Hard skill requirements only work if you have fewer skill levels (i.e. apprentice, journeyman, expert, master etc.), as the numbers can get overly finicky if you're allocating skill points point-by-point, and you run into the issue where there's little incentive to raise a skill by anything less than intervals of 5 or 10. Die rolls make more sense in simulating the randomness of real life and still leave a small margin for error unless the player really is maxed out in something.
The reason I say this is because if you're going to go the route of having only a few skill levels, I think not telling the player what the requirement is actually works well, especially if the skill requirement is in proportion to the task presented; i.e. repairing a radio should only require basic mechanical skills, compared to repairing a power generator; unless you're dealing with foreign technology, magic, etc. there shouldn't be a need to expose that too obviously. When you have a system where it's possible to literally be 1 point short, though, it becomes more necessary to expose the number side of things.
I'm also not opposed to a perk or some such (empathy, maybe?) that allows you to view skill requirements in dialogue. I don't know if it's something that should be obvious to the player at first, especially if you're taking the route where the player can't see precise enemy HP values etc. in combat as well. Being able to judge what it will take to convince someone of something is a bit different than actually managing to do it, after all. Spending a perk/skill point/etc. on such an ability is a good risk:reward balance, at least on first-time playthroughs or without the use of a guide, so long as of course that knowledge can't be exploited for a disproportionately large reward. You could play with this by, say, doing an initial die roll on initiating a skill check based on some other stat, with higher ranks in one's empathy/awareness/whatever increasing the chances of seeing the numbers involved.
Regarding the "you get nothing, or a huge reward" thing, I'd say that's bad design. It's always good to reward the player for their accomplishments, whether that's with some money, a neat item, a new quest to continue forward in, information on the main plot, some sort of novelty/gag/whatever, etc. Skill checks in dialogue should provide greater reward, absolutely, but depriving a player of a reward due to a single failed die roll or not having a skill high enough is overly punitive. There should never really be ideal outcomes, anyway, only different ones, with the "quality" differing from player to player based on what he or she may be invested in when it comes to narrative.