Many people (myself included!) were first amazed by how easy and how much software was @ “just there” for Linux - and apt-get or rpm or emerge and you have what you want.
It’s much later that you realize that someone is doing the work to keep those working, and decisions are being made all the time about which version, which project, etc.
The one I first really noticed was MySQL being silently replaced with MariaDB.
It's too often the software from Ubuntu or Debian repositories is outdated.
For example, Python, Docker, Rust, ClickHouse, Go, and Node.js - all have some versions in Debian, but the common knowledge is to ignore them and always install the official version instead.
It depends on what you want to do. If you want to set up a system and let it maintain itself, stick with the repository version. Upstream versions tend to allow breakages and major version upgrades that make running standard system updates a chore.
Upgrading Node is especially annoying because once you upgrade the default Node binary, you can never get repository software that depends on Node to run reliably again. Everything needs to be installed through NPM from that point on or you'll inevitably get compatibility errors. That also means that you need to change your update procedures, because security and stability updates are no longer taken care of automatically, and that means reading the docs of all the packages you update to look for breaking changes.
If you're doing development, grab the latest upstream versions. They've probably got more features you want, at the cost of having to do the occasional config/setup update.
If you want the latest of the latest of everything, you'll want to switch to something like Arch (or its derivatives) or set up a system separating the upstream tools from the system tools.
It's similar to the Ubuntu release cycle: don't run the rolling release on a server, probably don't run the LTS version on your dev machine.
It’s much later that you realize that someone is doing the work to keep those working, and decisions are being made all the time about which version, which project, etc.
The one I first really noticed was MySQL being silently replaced with MariaDB.