I think the reasoning why they give out icons is that players want to show off that they were a part of something. Icons have the most visibility, your icon gets viewed on the boards, your friends list, in loading screen and in game. Thus you can proudly say yes I was a part of that. It can even be a talking point in some games, "where'd you get that icon?" "oh I got it because I played Dominion" or "I owned a legacy skin before legacy skins were cool".
With other forms of compensation like skins or RP or IP, etc. that doesn't really define the fact that you did a thing. And I mean after a while, you might forget that you owned the skin or how you got it (unless its a champ you play frequently). Like last year they gave away a mystery gift for those who were sportsman-like and I got Masquerade Evelynn and I was okay with it (I don't really play jungle but if I do, I sometimes play Eve). But it doesn't really show off that I was a sportsman-like player. I mean it's great, I know how I got the skin but other people don't and to them it's just a skin that you might have bought. Unless in every game you announce like a jackass "oh hey riot gave me this skin!!" Great, no one cares.
And that's what this is all about, you want other people to know that you did things in the game. And I get it, icons are getting a little stale, you can only have 1 on at a time and so you have to choose what you want to display. But there's not much else to display things on. You can get a badge for your profile, but do people really look at profiles? You can get a loading screen flair but there's already so much happening on there already, and some people will complain "oh everyone just tabs out, so it's useless." I know they're coming out with some sort of sticker album, but there's still not much incentive to go check out other player's albums.
I think as of right now, icons are really the only good option to display something about yourself that reaches a mass amount of people.
In b4 I get downvoted tho.