GNOME Classic gained all the new features of Shell 3.12, plus the GTK3 improvements that let CSD (Client Side Decorations) applications to use full controls ( _  x ).
Classic mode is a separated GNOME Session, but it is actually an identical Shell loaded with some extensions, some different settings and a custom light theme. Classic is supposed to be a smooth introduction to Shell, for the users that want things like a bottom taskbar and windows minimization.
Whereas distros ship Classic as a separate package, Classic is a core component of GNOME Shell and if you get Shell from upstream you can run it as simple as:
$ gnome-shell -r --mode=classic
Classic 3.12 is “patched” with the same extensions as 3.10.
- Places Menu: A menu for quickly navigating places in the system.
- Apps Menu: Add a category-based menu for applications.
- Alternative Tab: Substitute Alt-Tab with a window based switcher that does not group by application.
- Launch New Instance: Always launch a new instance when clicking in the dash or the application view.
- Window List: Display a window list at the bottom of the screen.
Those extensions are officially supported from GNOME and of course you can use them on Shell.
Except the extensions, Classic has also 4 static Workspaces (not dynamic) and full controls on the windows.
GNOME Classic 3.12 is Better Than Ever!
You must be kidding me! Network Icon is always visible as is supposed to be in 3.12,
but that wasn’t working when I was trying to take a screenshot of it :)
Full window controls (_  x ) for all CSD applications and alternatively you can add the Application Menu in the Application Window (Nautilus, top-left icon), something I really love!
Windows Overview works normal as in Shell, but the static workspaces is a huge disadvantage.
In overview mode, everything is pretty much as the normal Shell.
Classic mode could be renamed to “Alternative”, and they could patch it even more as an experimental session with experimental extensions and features that they might want to include in the next normal Shell release.
By the way, there isn’t a GNOME 3.12 release. This is 3.11.90 (3.12 Beta) and stable is scheduled for March 26.