What is ARM Debug Interface?
The arm has something called macrocels, the most used are,

Information Macrocel,
Trace macrocell,
Embedded trace Macrocell,
Bus macrocell and so on.

The main use of these is that it provides an insight of what is actually happening inside the processor. These macrocells are hardware inside the processor which collect information about the what was being processed and sends this information to the PC via the Jtag usually. And on the PC you have a software development kit whihc shows you the results that were obtained from these. Thus giving us an insight on whats happening inside therby helping us for example debug the code, view the interrupts that occured etc.,