Yup. I know sites that are still using 5.3 because they're too scared something will break if they upgrade (unit tests? what are those?).
It pays to read through the relevant migration [man]appendices[/man] before upgrading (the backward incompatible changes and the deprecations), and to know your own code so that when you do read you can say "Oh, I'm doing that, and I'm still doing that, and I'll need to do that".
You probably won't catch everything. I'm pretty sure I don't remember everything I've done in a program. And any changes you do in clearing out obsolete code will need to be tested for their own sake. Basically, you'll need to retest everything again anyway, and there probably will be a lot of issues. But forewarned is forearmed.
As a compromise: do the upgrade, do the testing, and if it blows up in your face, then hit the manual to find out what could have happened. The upside is that it's faster if everything happens to go off without a hitch; the downside is you miss out on a chance to find out about things like, say, anonymous classes, or associative array destructuring. Often, when something is deprecated, it's because a better alternative has been added. Depending on how long it's been since the last upgrade, the alternative might not have been available back then and it would be good to know about it for this upgrade.