I've also used both IDL and DX at a moderately high level. However, in my work I've never had the necessity to utilize much of the functionality that might contribute to DX ranking superior to IDL.
Loyd made a lot of good points, but in my opinion it all boils down to whether or not you need to do any 3-d or "classical" visualizations. For this, DX wins hands down. But for standard array imaging operations, it is sort of senseless to use DX. All that extra capability sort of weighs you down. In this regard, IDL is very simple to use. I've found DX to be a bit cumbersome for repetitive processes as well - such as for displaying and comparing several highly processed images at once. There are methods for doing looping in DX, and for organizing things in groups, but IDL is again less complex. In the type of work that I do at least (remote sensing imaging) an externally linked "C" or other language program would be required to accomplish certain tasks more often in DX than in IDL. I'd be interested to hear about other people's experiences on this. IDL is also much more flexible with regard to hard copy output. DX doesn't always allow you to make things look exactly how you want them to, in terms of fonts, positioning, etc. I'm not a computer system person, so I can't tell you much about the advantages/differences in that regard, but I can say that from the amount of traffic that goes through this news group, there are plenty of installation difficulties that people run into with OpenDx. Plus, the "Open" part of OpenDX is fairly new, and I get the impression that there are still a few kinks to work out. You might want to keep that in mind if you or your company is already familiar with IDL, but know nothing about DX.
