Why is $(...) preferred over `...` (backticks)?

For several reasons:

The only time backticks are preferred is when writing code for the oldest Bourne shells, which are not POSIx compliant. See POSIX standard and section "2.6.3 Command Substitution" for $().