Someone on the forum said something that I think explains this. Basically, the person said that Keith and Rochelle are together because opposites attract. Keith is very zen and chill and no fuss type of guy .Whereas Rochelle is fiery and passionate. That's the reason she went after him first. That's the reason why their relationship works because he lets her dominate. I think even Prince remarked upon this -- how Rochelle is actually really clever and ambitious while Keith isn't. And I think that's also why he doesn't stand up. In general, Keith seems like a pacifist who hates fights and goes along with the flow. That's also why he's such a push-over when it comes to Rochelle. It's just his personality.
I don't think Rochelle minds it tho? She clearly has it in her to fight for herself and doesn't mind fighting for herself.
But yeah, I think Keith really needs to start taking stands in general. Like Aman said, Keith only voices his opinion after the time has passed. And thus it seems like Keith is blending into the background.