BGP exists because the internet is over networks that must cooperate.
Problems BGP solves:
Reachability. How does AS (Google) know how to reach AS (Comcast)? BGP propagates this information.
Path selection. Multiple paths exist between any points. BGP lets each AS choose based on policy.
Loop prevention. With thousands of interconnections, loops would be common. AS_PATH prevents them.
Policy enforcement. You might want traffic through AS X but not Y.