Recs.
Updated
SpecsUpdate
Pros
Pro Full control of the software
You build the package from a source you can see and read. You decide which features you want to build in and which aren't needed. You can choose build options, optimisation and whatever else fancy stuff you want modified. With a binary distribution this simply isn't possible.
Pro Great for anyone who is serious about learning the intricacies of Linux
It's useful for both beginners and professionals. For the installation, Gentoo offers various types, which are referred to as stages. Basically meaning how in depth you would want to go into the process of installation. For beginners it's useful to choose for a starting distro due to its various stages that can be very time consuming but beneficial as you learn the composition in general of Linux.
Cons
Con Somewhat outdated solutions
While being outdated per se is virtually impossible for a rolling-release distro with a large community, a large portion of said community sticks to outdated solutions. For example, Gentoo's primary init system is OpenRC, which is cumbersome and awkward to use and provides little control over the system. While you can just choose systemd, it will require some tinkering. Other examples include stubbornly declaring an initramfs a last resort and an "oh my god 1337 H4XX0RZ surely have nothing better to do than trying for a month to exploit some vulnerability to steal my pony art, I have to fortify so hard my performance and ease of use will suffer" 90s security mentality.
Because of just how much freedom Gentoo provides you with, this usually isn't a big deal though.
Con Customized package installation can take a long time and cause installation failures
The Gentoo package management system allows you to configure what compilation flags packages should support - i.e. specific processor flag support (SSE, SSE2, etc.), -O1, -O2, -O3 optimization, etc.
If you accept one of the default flags, Gentoo downloads binaries from the server. However, if you decide to optimise, it can and will download all source packages and start compiling allthe programs and libraries on your system. If your chosen flags don't work with a particular library, installation will fail.