Installing software by hand means chasing its dependencies one by one, and nobody keeps it updated. A package manager like apt or dnf installs software and its dependencies from trusted repositories and upgrades them later. Use it for system tools such as nginx or curl on a server or inside a Dockerfile. Language libraries usually belong to pip or npm instead, and dpkg or rpm only handle a single file without fetching dependencies.