(something) may not be (adjective), but (sentence)
Use this expression to admit that something bad is true, but then explain why you're doing it or using it anyway:
Drinking a lot of coffee may not be good for you, but I just can't help myself. I have to have it!
She may not be as young as she used to be, but she's still young at heart.
This example uses a noun phrase after "may not be" instead of an adjective:
I may not be the smartest guy in the world, but I'm smart enough to know when I'm being lied to.