I do know that LaTeX3 is a long term project, but I'm interested to find out what's new in LaTeX3 and have there already been any big advancements and backwards incompatible changes.
At present, the 'usable' bits of LaTeX3 are:
None of the above alter any existing parts of LaTeX: this is deliberate. What we are working on at the moment is things like the galley (where boxes are on the page) and the output routine. Those packages (which are not currently on CTAN, but are available from the public SVN) do alter the behaviour of LaTeX (particularly the output routine one).
The advantage of the current modules is that you can use them and know you have documented stuff. Unlike programming in LaTeX2e, we're aiming to explain all of the expl3 functions that are 'public' so that you don't need to use bits of TeX, bits of documented LaTeX and bits of undocumented LaTeX to get things to work. I've written siunitx in expl3, and it makes programming LaTeX a lot easier. (Compare the code for siunitx v2 with that for v1 to see this!)
What is not yet formalised is how LaTeX3 will look for the end user. I think, however, that we can be confident that the current basic model
will survive (the project will fail if it does not).
I know that LaTeX3 is 'long term', but the aim with things like expl3 and xparse is to bring new ideas to users now. As I say, siunitx (a LaTeX2e package) is written almost entirely in expl3, and fontspec is moving that way too. This means that without needing to know about LaTeX3 users of these packages get the benefits that come from a clearer programming approach. I keep pushing xparse as it lets you easily do things that