Team Rocket and the fact that basically all legendaries play a role in the Pokè world
Think about it. If Ash caught All the legendaries, than Team Rocket would learn about it and probably send in so many soldiers, they would steal it from Ash in the blink of an eye. Also, all the legendaries play important roles in the Pokemon world (Kyogre=rain, Dialga=time, Arceus=God/Keeps everything running, etc.)
I would most likely think Ash wouldn't catch them primely because of Team Rocket.
Hope I Helped