It's always a good idea to familiarize yourself with other tools and techniques, then make up your own mind about them. You shouldn't blindly believe anyone telling you that OOP is the greatest thing since sliced bread, just like you shouldn't blindly believe anyone (even Casey) when they're telling you that OOP is a really bad idea with even worse implementations. (Note: you can replace "OOP" with any of "functional programming", "compression-oriented programming", "node.js" or any other paradigm / library / tool you can think of.)
Worst case: you wasted time on learning stuff you'll never use, but at least you'll know
why you won't use it. Best case: you'll have a new tool in your toolbox and maybe, one day, you can
swoop in and save the day.
Now, on the topic of the merits and shortcomings of OOP. I'm currently in the phase that Casey described where he only programmed object-oriented, but was slowly realizing that overdoing it can easily suck the fun out of programming. If Handmade Hero had come around five years ago, the program I'm currently working on (lots of classes, virtual functions, some templates strewn in) might look very different, both code-wise (I'd love to have hotloading, so I guess no virtual functions at all), but probably also in its features (some of those have more or less emerged from the code structure). Would it be better? Hard to say. After working with the same codebase for several years and no definite "finish" in sight (not because we keep missing our schedule, but because we intentionally evolve the product with new features) you tend to yearn for those simple days when you could fit half or more of the codebase into your head at once.
That said, I don't think blanket statements like "OOP is bad, don't do it" are warranted. I would say that you need to be very, very careful with OOP and particularly C++ in applications with hard realtime requirements (like games). Besides the obvious performance impact of virtual function calls, C++ tends to obfuscate the exact code flow on the CPU with constructors, destructors, overloaded operators, move operations, aforementioned virtual functions and complicated template resolutions involving lots of SFINAE. That can make it really difficult to follow the exact control flow of a piece of code, and nigh impossible to gauge its performance without intimate knowledge of all classes involved.
One of the main benefits of OOP, in my mind, is that it enables very clear interfaces. You can design classes in a way so that other people can learn exactly how to use them, just by reading their declaration. Access modifiers make it clear what is part of the public interface, and what's just implementation detail. Virtual functions are explicit extension points where users can hook in their own code. Inheritance makes it easier to design and use interfaces for the smallest common denominator of related data structures. You can do all that with C, of course, but it's nice to have syntactic sugar to make the code more concise and (potentially) easier to read.