Perhaps the issue here is that I don't fully understand the differences between the Client Profile of .NET 4 and the (regular?) version of .NET 4...
When I begin a new project in Visual Studio 2010, it defaults to a target framework of .NET Framework 4 Client Profile. Occasionaly, when using third party library's I will get compile erros if my project is setup for .NET Framework 4 Client Profile - switching to .NET Framework 4 fixes the issue.
I have always just dealt with this but today I decided to ask the question and figure when to use one over the other, and why there are two versions of the framework.
EDIT: If I target .NET 4, should I be concerned that a normal desktop user won't be getting that Framework over Windows Update?
Concerning your edit: take a look here: .Net Framework 4 Full and Net Framework 4 Client Profile Targeting
This post by Scott Hanselman shows you what's in and what's out of the Client Profile:
Towards a Smaller .NET 4 - Details on the Client Profile and Downloading .NET
This is the funny part:
Here's a more detailed post: What’s new in .NET Framework 4 Client Profile RTM
It's worth mentioning that starting with
.NET 4.5there's no more aClient Profile. It's been discontinued: http://msdn.microsoft.com/en-us/library/cc656912.aspx (link provided by CodingWithSpike)