The majority of items in CS:GO are initially generated by purchasing a key (for $2.75) to open a case. The game tells the user that the case contains one of a dozen possible items, but not which item. The act of opening the case generates an item that can be worth anywhere from $0.10 to $10,000. The in-game UI for this process even looks like a slot machine: https://www.youtube.com/watch?v=WpFlpyZ4eBM&t=1m45s
If you want a specific item, (rather than a random one from a case) you can buy it on the Steam Market. But that's a secondary market where the sellers are other gamers. The items themselves were still initially generated from playing Valve's slot machine game.
Valve has a vested interest in maintaining the perception that the items have zero value in real dollars. If the items had real dollar value, then the act of opening cases would make Valve a casino.
That's why when you sell your items on the Steam Market, you can only use the proceeds for other items on Steam. The money is steam dollars, not real dollars. There is no "cash-out" mechanism within Steam.
Of course, this perception is a farce because there is a large market outside of Steam for selling the items for real dollars. Two popular websites are https://opskins.com/ and https://bitskins.com/ . I don't believe that Valve can maintain their position that the items have a real dollar value of zero when lots and lots of people are trading them for real dollars. It's sort of like a casino saying the chips are worth zero because the cashier works for a different company.
I believe that this is at the root of why Valve is so comfortable with all the 3rd-party gambling sites. Valve has established their position that the items are worthless, so normal rules about money shouldn't apply.