What is the difference between Atmel ICE, Atmel SAM-ICE and Atmel JTAGICE mkII?
From what I understand, Atmel ICE is cheaper and better in every way, support more families, thus why would one buy the other one?
There are some points that you have to contemplate.
Yeah, I know that the Atmel-ICE can support a wide range of the Atmel products but I can gauss that many compilers or IDEs don't suport it. For instance, when you work by Keil and have bought it you don't want to buy an Atmel-ICE because the Keil can't suport it. If you buy a Atmel SAM-ICE, you will have a chance to use it in Keil because the Keil suports it as a J-Link debugger. On the other hand, if you notice, the Atmel-ICE don't suport AT91 while the Atmel SAM-ICE does or for another example the Atmel JTAGICE mkII has an on-board 512kB SRAM for fast statement-level stepping but the Atmel -ICE doesn't.
I hope this answer will help you.
As I have just found out, the Atmel-ICE does not support the high-end ARM cores (Cortex-A5, etc) and only supports Cortex-M. In other words, if you want to use the SAMA5 MPUs, you'll need the SAM-ICE.