CFOP is WAY overrated. I have learned almost every method there is, and let me just say this,
ZZ is in no way better than CFOP, people can just turn so fast with CFOP that the benefits of ZZ can't outweigh that fact. I'm not saying ZZ is a bad method, and I use and practice it because learning edge orientation is an extremely useful tool. I also know and practice Roux, Petrous, a variety of Columns methods, and I understand Heise, and am currently working to learn even more methods like Snyder, and full SSC. I am trying to get to the point where I am not using a single method per solve, but am using as many methods as possible per solve. This is essentially an extreme form of Freefop, but that's groovy. If you have no restraints on what you can do for a solve your times are going to be faster.