1. All Metro / Windows Store apps have to be distributed through the Windows Store for mass distribution - that much is true. There are good reasons for this - namely it saves you the trouble of having to write installers for three separate hardware architectures (ARM, X86, X64) and makes it comparatively low-friction to distribute your app compared to traditional desktop applications.
2. It's pretty easy to side-load applications on a one-to-one basis for developers who are running non-ARM devices; you can package an app automatically from Visual Studio with a self-install PowerShell script and installing an app is as easy as emailing someone a zip file with the app package + install script. This was how we tested apps among distributed teams internally at Microsoft and how all of the early third-party developers did it. I only did this on X64 devices so I'm not sure if there's support for X86 and I'm pretty sure ARM doesn't support this.
3. Enterprises have the ability to create their own bolt-on to the app store using Active Directory to ensure that all of their employees can get access to private, line-of-business Metro apps that they don't want exposed in the public app store.
4. Traditional desktop applications, non-Metro ones, can still be distributed the old fashioned way. My previous employer before Microsoft has no plans to put its desktop software in the Windows Store and frankly I don't think it will affect them much.
For the desktop, look at Metro as a way to have some content-focused apps and games that come to life directly on your desktop through live tiles. Don't look at them as replacements for heavy-weight, traditional desktop applications. That's not their point.
Windows isn't going to be a closed platform - if anything Metro makes Windows more accessible to a larger number of developers. Shipping a traditional desktop application is an epic pain in the ass compared to shipping a Metro-style app. Metro makes it a lot easier for most developers to sell native apps on Windows.