Knuckles' biggest flaw is evident in the very first game he appeared. It's his gullibility. It not only makes him an obstacle and annoyance to other characters, but also blinds him of who is really his friend.
Doctor Robotnik was able to very quickly convince Knuckles that it was Sonic and Tails who were after the Master Emerald in Sonic 3, sending Knuckles away so that he could look for the Emerald. Knuckles learned his lesson in Sonic & Knuckles in the Hidden Palace Zone. Doctor Robotnik electrocuted him for trying to rescue the Master Emerald.
Then how come Knuckles was able to be fooled again in Sonic Adventure when Doctor Robotnik told him Sonic was also looking for the broken pieces of the Master Emerald as well? He fought Sonic making him drop Chaos Emeralds that Robotnik quickly snatched up and fed to Chaos, making him evolve. It's an interesting question. No matter how many times he's fooled, Knuckles is going to be fooled again and again by Doctor Robotnik.
One theory is that Knuckles doesn't trust Sonic. That's partly it, but I think it's a lot deeper than that. I think Knuckles doesn't trust anyone. It's not that Knuckles likes Doctor Robotnik or feels like he can trust him more than Sonic. In fact, in my opinion it's not an act of trust that he goes off of when he goes after Sonic again and again. It's an act of distrust. Knuckles doesn't think about trust when Doctor Robotnik says Sonic is going after the Master Emerald. It's a lot more simple for him. Knuckles just knows something is happening to the Emerald, and he's going to stop anyone from bothering it.
It's how Knuckles stays consistent by being gullible with Robotnik and not so much with Rouge the Bat. He's aware of her motives, and he's protecting his Emerald. It doesn't get any simpler for him.