Both are stable. Both will continue to be stable for a long time.
The main difference lies with third party library support. There are a number of third party libraries that don't work with Python 3 yet. They will get ported eventually. If you want to use a library that doesn't support 3, then the choice is made for you.
The second difference lies with Linux distributions. On most distros you can just install the "python3" package and everything works, on a few distros you'll have to install Python 3 yourself or hunt down the right package repository (my info may be a year behind or so, I'm not sure). This also applies to third party libraries -- even if the library supports Python 3, your distro might not have a package for it, even if it has a package for that library for Python 2.
It's fairly easy (most of the time) to write code for Python 2.x that converts to Python 3 code with the bundled "2to3" converter. I do this for any script I might ever want to give to someone else or run on a computer that's not mine. Otherwise, I just write straight Python 3 code. Assuming, of course, that I don't need some library.