They need to do that because, in some sense, they're competing with Gaming PCs, not really with Gaming consoles. Gaming consoles sell their consoles at a discounted price because they can recoup a lot of it when selling games. Steam can't have a markup on games because they share their marketplace with other PCs.