I'd say there may be different approaches for different folks. I tend to "stock up" anytime I find some free scrap material. I am selective (no matter what my wife says), only getting things that I expect to have value for the types of projects I do, but I hardly ever am looking for "just the right piece" for a current project. I don't have a huge amount of storage space, but I do have some, and this may be the key difference for different folks. With strategic use of shelving and odd corners of the garage, I have a decent "inventory" of materials that I have gathered over time. Thus, when I start a new project, I already have the material on the shelf. Of course, there is some dynamic interaction at work - I am likely to design my project based on the materials I have on hand, or adjust an existing design to suit what I have.No point in stocking up unless you have a definite project in mind.
Initially you got to buy or acquire in any other way what you need, eventually left over build up.
Starting a new engine I make a very detailed BOM (Bill Of Materials) including hardware and purchased parts like ball bearings and Oilite bushings.
Each part indicate the blank size needed, I can go in the shop and find if I can source there or I need to buy it.
I massage the data to reduce the sizes to buy, if I need 3/4" diameter and 5/8" dimeter short piece then I get a longer 3/4" piece.
Then try to order all I need in as few times as practical to minimize the shipping charges.
I found E-Bay often has the right size at a good price, but recently I found McMaster is selling shorter than full length bars beating E-Bay.
Of course, another factor at work is that I just simply like gathering up potentially useful materials and thinking about how I could make use of them, and I love to make something that cost me nothing in terms of materials because I could make the entire thing out of scrap that I scavenged for free. That probably reflects some sort of deep character defect on my part ...