The word for someone who is the exact same kind of person they always complain about or say they can't stand is "hypocrite." A hypocrite is someone who behaves in a way that contradicts their stated beliefs or values. In this context, it refers to someone who criticizes or dislikes certain traits or behaviors in others while displaying those very same traits or behaviors themselves.