Complete noob question: Software installation

I'm a Linux guy who is tring out BSD for the first time...

What is the BSD program to automatically fetch and and install software?

Is it pkg_add? Will pkg_add automatically fetch and and install software? Does it work on all BSD variants?

This is all I could find, but I wanted to make sure I am using the right tool.

freebsd and openbsd use the ports system.
you can either use

pkg_add -r pkgname

to install the binary package of the software. the -r switch pulls in all dependencies. or you can build from source.

cd /usr/ports/whatever/port
make install clean

netbsd uses pkg-src. i know nothing about pkg-src.
now theres pcbsd and desktopbsd. pcbsd uses pbi for software. BUT, being as that it is essentially freebsd, you can still use the ports system... which i recommend anyways.
i dont know anything about desktopbsd.

DesktopBSD is getting outdated and the release cycle is becoming very long, as a result of the main developer(s) diverting their interest into other areas. PC-BSD is very active, but I am not particularly impressed with it: the desktop still looks incoherent.
Pkd_add only works in the command line in all BSD variants and is still the most stable way of installing software (and pkg_delete to uninstall it). The uniform way of installing software that way carries a large and wide appeal.

the thing with pkg_add is that you dont always get the latest packages. port versions are sometimes more up to date than package versions.

oh yeah, dont mix ports and packages. pick one and stick with it.

You can mix ports and packages easily. Installing packages is faster (about 10 times as an educated guess), but is not always possible. Acrobat Reader for instance has no packaged installation for licensing reasons and must therefore be installed using the ports manner.

yes its easy to mix them, and its easy to get things screwed up because of that. if theres any backward compatibility issues with any ports or regression, then you may be in trouble with different versions of dependencies being installed.

only mix when you HAVE to.