There are pretty many articles about what are PCL like this.
However, from all what I found, they just mostly say something like:
The Portable Library Tools CTP adds a new "Portable Class Library" project template to Visual Studio that can be used to create class libraries in C# and VB that run on the various .NET platforms without recompiling.
But carefully read this superb explanation of how .NET (and Mono) works, I became even more unclear why PCLs even needed.
Because if I've built some Assembly and it contains CIL bytecode (which can be used through any other platform (if corresponding platform has CLR implementation (as the main idea of .NET was))), then what's the problem? Why we would then also need the PCLs?