Python 3 is not backward compatible with Python 2 code but Python 2 is a Legacy product no longer being developed. If you are installing Python to run programs written by others you need to make sure you have the right one.

Two reasons to stay with Python 2

If you're deploying to an environment you don't control, that may impose a specific version, rather than allowing you a free selection from the available versions.

If you want to use a specific third party package or utility that doesn't yet have a released version that is compatible with Python 3, and porting that package is a non-trivial task, you may choose to use Python 2 in order to retain access to that package.