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.
This was first published in May 2001