Why do you think there's more "fairness" in everyone getting 15% raises across the board rather than the few who perform above others getting better raises? I find that almost the definition of unfair?!
What you're probably thinking of is that it's more important for the group to get rewarded, not the individuals... but that's good NOT because it's fair, it's good because in the end, what a company really cares about is the end result of everyone's work... that doesn't make it fair to the individuals who actually performed most of such work, quite the opposite. Yes, there's a trade off being made between fairness and being result-driven, or making the wellness of the group more important than the satisfaction of the individual (or "social justice" if you may use a very overloaded term).
I think you may be failing to internalize the real lesson from your anecdote: how hard a task is has almost zero correlation with how valuable such task is for the business. If management didn't care about the very difficult work you did, and assuming management actually has a good understanding of the business, then that very difficult work just wasn't very valuable and maybe shouldnt've been done at all (because if you do a cost-benefit analysis, and something is really hard and the benefit small, it's an easy call to not do it).
Of course, there are things that have almost no immediate benefit to the business but must be done, like when you need to refactor a large code base to be able to implement future features in a way that doesn't destroy the software from within... but if you analyse such cases properly, their benefit is very big for the company in the long run and that's where communication plays an important role: management needs to understand why that refactor is so important, which I admit may be difficult in case of non-technical management (but then you have bigger problems than just properly judging the cost-benefit of some task).