We split testing into distinct stages primarily because:
Each test stage has a different purpose.
It is easier to manage testing in stages.
We can run different tests in different environments.
The more stages we have, the better the testing.