I'll spend like $30 on the weekend getting alcohol and take aways. These add no value to my life beyond the short time I spend consuming them. Spending $20 for a skin that I think looks cool for a gun I really like and often use is an easy choice in a game I got for free.
Its hard to explain for someone that doesnt play but its more than just a skin on a gun when you play competitive games you're expressing your skill as a player in front of an audience of people. Its a way for players to make the gun feel more like their own instead of just having everything look exactly the same. People are playing $80 to play a 1 time play AAA game so for f2p games with infinitely replayability spending some money on a skin isnt a big deal you're just paying devs for the game you love.