This really doesn't seem like a Perl question.
An .exe file is a file in a format that Windows knows how to execute by itself. The original source may have been written in any language, but that source has to be compiled, and the .exe is the result of the compilation. It is not intended to be human-readable.
On the other hand, a .pl file is human-readable (well, opinions differ :-) ), and Windows has no idea how to execute it directly. To run it, you have to call perl as a middle-man (or maybe it's done automatically by Windows on the basis of extensions?) to interpret it.