I work currently as a C# developer and have for the past 4 years; with some Java, C++, C, perl and others in the past. This will bias my answer to some degree (but at least now you know).
I just can't seem to grasp what it all is.
Object oriented programming language that aimed to provide an alternative to Java with lessons learned. It's largely expanded past that, and (imo) sits as the current standard for OO development until something better comes along (which will be or likely look like Scala imo).
This is simply the name for Microsoft's libraries for database access.
This is some trickery to make HTML do more than it was designed to do, and isn't really Microsoft specific.
This is the name for Microsoft's dynamic web page generation technologies (in general).
Originally ASP worked on older technologies. When .NET came around, it was updated to be a better fit with marketing (and technology to be fair).
the .NET framework
The .NET framework represents a bunch of interworking bits to support programming. In general, it is a bytecode specification, a runtime for that specification, JIT compilation stuff and a bunch of standard libraries for it. The closest analog is the JVM.
The common language runtime is the runtime in the .NET framework.
F# is a functional programming language modeled off of OCaml that compiles into CIL (which is what the .NET framework bytecode is).
Are all these technologies just for developing on the Windows platform?
Some are. Most are not in theory, but pretty much are in practice. C# and F# for example are just languages. They have open standards and can be (and are) implemented for non-windows systems.
Do some software developers dedicate their entire career just to that side of things?
Windows development? Sure. It's still far and away the most used OS on non-mobile devices. .NET? No. It hasn't been around long enough to encompass an entire career, and while it might be used for years to come I would not build a career around it alone. Bigger and better things always exist for a disciple so immature.
Why would I want to get into it, and what advantage does...whatever it is...have over all the other technologies there are?
Take a look at your preferred job search site. Otherwise, that's a language debate that this isn't the proper forum for. Personally, I find C# to be the best current language for me, for general purpose programming. It provides the least impediments to getting things done.
Microsoft provides free compilers/IDEs for their stuff. The best way to learn how it differs is to play around with it.