Although I'm not that familiar with DCOM, I see the big advantage of EJB over COM is the cross-platform nature of Java. DCOM is, of course, pretty exclusive to Windows. EJB todate runs on Windows, Linux and any number of Unix variants.
From my understanding of DCOM, EJB is a much richer component model. In fact, in some ways it isn't an entirely fair comparison. A more even comparison might be EJB vs. DCOM + ADO (Active Data Objects) which gives you database access + MTS (Microsoft Transaction Service, I believe). EJB includes object-relational mapping capability as well as the easy-to-use remote access through RMI and cross-machine transactional capability.
DCOM is probably cheaper for more robust implementations, although this is changing. DCOM is built in to the Microsoft Server platform. For EJB you need a vendor-provided container. Until very recently, the entry level was a $10,000 investment, but now a couple of cheap and free alternatives are available and they are quickly becoming viable deployment platforms.