CFOP: worst out of the big 3. It's basically a worse version of ZZ. Has a movecount of 55-60, 4.5 looks (if a pair is half a look and with XCross) and even with a lot of extra algs, you aren't getting an efficiency of 50 moves or less. It has some advantages of being well developed and very decent lookahead.
ZZ (EOCross and ZBLL): joint best. Has a movecount of 50-55, 4 looks (if a pair is half a pair). Requires 349 algs to be very good, but that's similar to what top level CFOPers know. Has half the F2L cases of CFOP and no rotations and minimal regrips so tps can be abused more. EO also means that ZZ has better recog for back slots than CFOP. Disadvantages of blind spots still existing, even if they're somewhat mitigated by EO and also EOCross+1 is very difficult.
Roux: joint best has the lowest movecount of about 47 (45-50). Isn't the outright best because TPS isn't as good (SB has regrips caused by overturning) and LSE <MU> is worse than <RU> of ZZ and CFOP F2L pairs due to purely flicking compared to wrist then flick). Efficiency is the best though and still has a pretty high tps as LSE isn't exactly slow at all.
LEOR (aka RouxZZ) is first block, EODFDB, right block, ZBLL. I think it’s equal to Roux and ZZ. It has the low movecount of Roux and the ergonomics of right block into ZBLL. All the steps apart from EODFDB are definitely really good. Just someone has to put in the effort to develop the resources for that one step and see if it is good or not.
If you want to see more of me defending ZZ, look at the thread shared by cubinwitdapizza.