Size of the PLC. CompactLogix is intended for smaller applications. If you are using a lot of remote I/O then go with the ControlLogix. More different types of I/O modules are available for the ControlLogix.
I have always considered the CompactLogix to be the intended replacement for the SLC platform, only utilizing the enhanced features in the software interface of RSLogix 5000 with ControlLogix, specifically the advanced programming abilities like UDT and motion in ladder logic.
Since it is a non-backplane, modular system, you have some pros and cons to consider in your layout when using a Compact.
They also have "brick" style compacts out now which could be compared to the Micrologix series.
Compact is limited to a single ethernet port. Controllogix can have several Ethernet cards in the backplane to isolate networks (drives, HMI, plant floot, etc.)