Why does it seem that one drops more rating points when losing than gaining when winning? It seems that when one loses a game against a compatibly rated opponent, the (USCF) rating point decrease is more significant than when one scores a win.

For example, between two 'C' players, losing an over-the-board game may cost a player 12 points, whereas wining, the increase in rating is 7 points.

This is an odd phenomenon in the Elo system. Is there an explanation?
I suspect it's a result of you not really knowing the rating of the player you're playing. Posted rating for a player in a tournament is typically already out of date. You can see it in more detail by checking the actual rating report of the event you played in (http://www.uschess.org/datapage/event-search.php) and you can see what the real rating of the player you played was at the start of the event. Keep in mind it changes with every round.