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 [http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03 POSIX standard and section "command substitution2] for $().