The CDDL license was intended to be incompatible with the license used by Linux specifically to prevent companies like Red Hat from simply taking all the best bits of Solaris (including ZFS and DTrace) and shoehorning them into Linux. Sun were pretty clear about this at the time. They wanted to create their own community around OpenSolaris, not see it cannibalised by Linux.
CDDL is based on an early version of MPL (Mozilla Public License) which was incompatible with the GPL. Current versions of the MPL are GPL compatible, but CDDL is based on the older version which isn't.
Here's a quote from the relevant Wikipedia article on it: https://en.wikipedia.org/wiki/Common_Development_and_Distribution_License
"Mozilla was selected partially because it is GPL incompatible. That was part of the design when they released OpenSolaris. [...] the engineers who wrote Solaris [...] had some biases about how it should be released, and you have to respect that."
CDDL is broadly similar to GPL in that both are copyleft licenses. However, the problem is in the fine print. The GPL says you cannot impose any additional restrictions on the user beyond those in those already in the GPL. This is to prevent people from adding clauses which turn GPL software into proprietary software. However, CDDL is more restrictive than GPL in some respects, hence the incompatibilities.
As one example, with GPL each user receives their license directly from the author. This means that nothing your distributor does thereafter can affect your license status.
With CDDL, if you are a distributor lower down on the distribution chain and your upstream distributor sues Sun/Oracle, then you as the distributor's downstream recipient lose all license rights an must stop redistributing the software. This is pretty standard corporate verbiage, but is not compatible with the GPL. As an end user there's no problem in either case, but the GPL is intended to be usable by all businesses without having these sorts of issues.
Here's a more detailed explanation at LWN (Linux kernel oriented news site) from 2004: https://lwn.net/Articles/114839/
Canonical has had their lawyers go over the CDDL terms and they think they can get around the problems by distributing the ZFS module as a binary and distributing the source code separately. Before you jump in and say that "but the GPL says that etc., etc.", the problem isn't with the GPL, the problem is with CDDL. Their lawyers think that this still leaves some technical violations, but that Oracle would have difficulty bringing a case to court based on them.
The FSF web page on license compatibility will point out potential areas of problem, but they're not in the business of giving out free corporate legal advice so they stick to giving very conservative advice. Debian is in a similar boat, so they also take a very conservative approach. If you need to skate close to the line then you need your own lawyers who can look at your own specific circumstances and tailor their advice to your needs (and bill accordingly).
Here's another problematical clause: https://opensource.org/licenses/CDDL-1.0
"Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys fees and expenses."
The following isn't specific to CDDL, but here's the FSF's explanation of the most common reasons for incompatibility of other licenses with the GPL. Note the conflict with the above. http://gplv3.fsf.org/wiki/index.php/Compatible_licenses
Common reasons for incompatibility
When checking licenses for compatibility, here are some specific issues to look for that would make a license incompatible with GPLv3 (as of draft 2).
Requirements about attorney fees
Waiver of the right to trial by jury
Jurisdiction requirements (disputes must be settled in a certain country or in accordance with the laws of a certain country)
Licenses which are incompatible with GPLv3 for the above reasons include the Academic Free License, CDDL, CPL, EPL, Lucent Public License version 1.02, MPL, Open Software License.