Let me say that is a very large subject.
First is that you stated two distribution names. An advantage of selecting a distro is that they tend to have some way to somewhat safely install applications. That may be with some package management or some web source.
I suggest that you only use that method to install ported applications until you get brave.
When you get brave you can attempt source based installs. They are files that some one makes that may require many other files and work to get an application to run. They may bork your system with ease also.
Puppy for the most part is a specialized distro. It uses some special means to allow older hardware to act more like a modern distro.
Ubuntu is a main stream modern distro intended for more modern hardware. It has very good hardware and software support for it's intended target audience.