It's important to remember that the level calculated by SquashLevels is an assessment of how well you're playing at the moment and that is based on your results and the level of the person you played. If you're better than your opponent then you're expected to win so the big question is not 'did you win?' but how did your result compare with what was expected? If you didn't do as well then your level will go down - at least a little.
It's similar to asking your teammates on the balcony how well you played. You may well have won the game but they will know if you made a bit of a meal of it...
This is important as it rewards effort. You can nearly always get a level reward for putting the effort in and doing better than expected. This is perfect for juniors as there's always something to go for whoever you're up against. You might be expected to lose but you can still improve your level and that's something to go for.
There is some leeway for players that have quite different levels because we don't expect a much better player to hammer their lowly opponent just to keep their ranking up. In this case, the system assumes there's a range that the better player might play at and only if the result falls outside the range will either player's level be changed.
We do receive suggestions that winners should be rewarded for winning and they certainly shouldn't take a drop in level which is similar to the classic tournament systems. In this case players are awarded points for every round won, usually doubling each round, and the guys that win the tournaments get vast numbers of points. That all sounds fine but if you don't play many tournaments or you keep getting seeded against better players and get knocked out too early then your points tally isn't going to be representative and you'll be stuck way down the rankings - and that can be hard to get out of as it tends to self-perpetuate given the way seedings are done. This is a very common problem with tournament based rankings.
And what if you don't play tournaments? How would you treat a win in the boxes compared to a win in the league for instance? What if you always have easy league games? Systems that give a win bonus cause the better players to want to play further down the team order to seal that bonus. That's not the kind of behaviour we want to promote.
Using levels and estimating your actual playing level reasonably accurately based on both the games score and the points score is what makes the system accurate, inclusive and relatively independent of the match you are playing and where you are seeded in the team. If we were to give bonuses for winning it would skew the levels and the rankings would quickly become inaccurate and, worse still, change player behaviour out in the leagues.
Another problem is that if you increase the level of one player without reducing the level of their opponent then the average level of that match - and therefore the entire system - goes up over time which means you can't compare a player's level over time. This already happens to some extent due to the behavioural modelling and there are other factors taken into account and so the average has to be pulled back somehow, very gradually, over time. It's a complex part of the algorithm but it's essential that there isn't net gain or net loss across the system.