If a recruiter goes after you, and didn't bother to Google your name and look at your GitHub/OS contributions etc. he's obviously cold calling and wasting your time. He's the guy who asks DHH how much Rails experience he's got.
But, on the other hand, if you apply to a company, especially one that's more or less famous, puzzles are a very good way of separating the wheat from the chaff on a level playing field. Evaluating a strangers performance based on their solution to a common puzzle is very time efficient and allows the company to process large numbers of applicants fairly.
A common notion here is that great people can just pick up the phone, or will be actively courted by companies, so they don't need puzzles and recruiters. That is great for them (honestly, not a snark), but it's not scalable: Not everyone can know everyone, and there has to be a way for newcomers to enter into the network.
Case in point: Stripe - you want to work for them, but apparently you don't know anyone on the inside that can recommend you. And apparently you're not on their radar already. They do great stuff, they seem like an amazing bunch - so there are likely to be hundreds who want to work for them - and most of them, regrettably, are not qualified enough.
Do you really think it's fair to require Stripe to assign a member of their engineering team (that means you after they hire you) to review every strangers GitHub accounts, when you refuse to invest even a little time in signalling to them that you're the real deal (the puzzles aren't all multi-day endeavours)?