If you're going to a new Android version (Jellybean->KitKat->Lollipop->Marshmallow), it's not a "minor update." It's no different from going from Windows XP to Windows 7 to Windows 8 to Windows 10. And, Microsoft recommends fresh installs to avoid performance problems in those cases
Truth be told, it's generally the apps that are installed that cause the problem. Usually an updated version of the app hasn't made it to the device (which happens when you FR and reinstall) or there's a malconfiguration that the app doesn't look for after an upgrade because the developer was lazy or doesn't know to check if changes need to be made.
I've had a device go from K to L to M without the need of a FR. That tells me the problem isn't Google and the default OS (as it was a Nexus device). There's a possibility it's the manufacturer enhancements (Samsung's TouchWIZ, HTC Sense, etc), but my guess is it's apps installed on the device.