Well, for one, "DeviceNet" is much better suited to, well, "Device" control. It isn't terribly fast, but works well for routine communication tasks, and dealing with smart devices and modules on a piece of equipment.
It can transfer fairly large blocks of data, and can be used for control of Drives and such, but you begin to experience performance hits if you are using large data-blocks.
DeviceNet (similar to ASI-bus) is designed to carry information and power to point I/O type things on a single cable. DeviceNet is also non-deterministic; that is, you are not assured that devices will be scanned in any particular time-frame.
ControlNet on the otherhand, is a pure communications network, designed to be fast AND deterministic. As long as you don't exceed network bandwidth (which things like RSNetworks for ControlNet assure), you will absolutely get/send your information in a periodic time-slice.
ControlNet is better suited for handling large scheduled I/O tasks (remote-rack connections, control of many drives, etc), and also supports high-speed non-scheduled connections (programming interface, HMI Terminals, etc).
ControlNet runs I believe at 5MBps, which while it seems slow by todays networking standards, is actually very quick, as the protocol is optimized for doing specific types of communications. Devicenet runs at a maximum of 500KBps.