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.
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.