I think compose files are usually pinned to a version, or use a .env file that needs to be changed to update to a new version.
I personally don't update very often; usually not until I'm forced to for some reason. I find that just checking the documentation for any upgrade/migration guides, and doing it manually is sufficient. I don't expose this kind of stuff publicly; if I did, I'd probably update regularly.
I started using it as an alternative to Octave/Matlab and Perl. Python is better at general programming than Octave/Matlab, and better syntax than Perl (IMO) while being almost as easy to do the same stuff I was using Perl for. It's very good for quickly writing small scripts. Issues can arise on large projects/teams because of stuff like type safety, and it also has issues with performance.