I often build things (3D printers, skateboard wheels, bicycle parts) that use off-the-shelf ball-bearings. These ball bearings are available in nominal mm sizes, and to the limit of my measuring tools, tend to be ground exactly to size. For example, a bearing with 15mm ID and 24mm OD will have ID and OD of exactly 15 and 24mm, to my ability to measure.
It's also easy to buy linear or rotary shafts ground to nominal diameters. For example, I can buy 15mm ground rotary shafts. These are usually ground to a +/- tolerance which means half of them won't fit the bearings, or the more precise ones are ground to an upper spec of 15mm and very small tolerance smaller. Usually, even with the 15mm upper spec, the size is too close to 15mm for a bearing to slide on. I have to polish the shaft down with sandpaper (destroying the nice finish) in order to get an bearing that can be assembled by sliding, such as for a bicycle hub axle.
In cases where you want a bearing to have a close sliding fit on a shaft, it seems two things are possible: Either you could buy special ball bearings with slightly over-nominal size (i.e. 15.15mm ID), or you could buy shafts with slightly under nominal size (14.85mm). However, there doesn't seem to be a common "standard undersize" shaft or "standard oversize" bearings for each nominal mm size; neither thing seems to be common. This leaves a world of 15mm shafts and 15mm bearings which don't fit each other except by interference fit.
To get a bearing and a shaft which fit each other with a close sliding fit, is it more normal to use an undersize shaft or an oversize bearing? If the former, why does it seem so hard to find shafts commonly available to fit nominal bearing sizes?