It depends on the company. One company I worked for had a policy of "Just buy what you need that makes your work easier: books, licenses, and even hardware. Management time spent on decisions is too expensive, so we default to instant approval." Did developers go on a buying spree? No, the same amount of stuff was bought as before the policy. And it did make life easier.
Perhaps some generous budget limit, with a clear message that it's not intended to be fully consumed, and a clear rule that a certain percentage of whatever will be left at the end of the year is donated to some universally accepted good cause? Children and cute animals, please not religion. "You can get the book, no problem, but keep in mind that being the book means $5 less ponies!" (just don't make it manatees, you'd risk me working on a chromebook)