In my experience it varies widely, often do to the amount of custom functionality, and contrib extensions, modules, and plugins that create data in the database, and may not do so exactly as CiviCRM's standard forms do.
I've upgraded at least 75 different websites over the years, with a wide variety of starting points and custom features.
Often we can upgrade large jumps in versions and it works. Sometimes it takes three or four increments. Recently I upgraded a site from 4.6.8, to 5.7 . I had to upgrade first to 4.7.31, then to 5.2, finally to 5.7. I could not get to 5.7 from 4.7.31. Conversely I also upgraded a different site recently from 4.7.13 to 5.7 without incremental steps, smooth as silk.
Generally it is best IMO to upgrade when there are security releases, which two or three per year is common. The exception to my rule is if I specifically need a feature.
I find upgrading with each minor version when it comes out tedious and time consuming... especially if the site has many extensions / modules / plugins, and customs, because it's not worth the risk of a feature breaking unless the new minor release has a feature I actually need.