[ Michael knew damn well that Fredo had no idea of the hit and thought he was helping but still killed him because like you said it was about control
...and also about communicating to everyone who knew about Fredo's betrayal that nobody gets a pass from Michael Corleone. That's just one of the things that make him such a reprehensible character.
He showed understanding "mercy and forgiveness" to Fredo and gave him a pass
until Fredo's boathouse outburst
Fredo's boathouse outburst cast doubt on Fredo's claim that Fredo didn't know it was gonna be a hit
and Vito didn't have a brother betraying him
As regards reprehensible character -- like father like son
Vito went to the other side of the world and killed senile Don Ciccio, one leg in the grave no threat to the Corleones