That is probably quite a minor reason for why Windows applications aren't available for Linux. Just because many (not all) Linux distros are free, and files can be copied (the latter of which is also true of Windows) does not mean software companies cannot charge for software that runs on that operating system. Many enterprise server applications run on Unix, including Linux, and they can cost a lot of money.
What's probably more of an issue is the different operating system & user interface APIs to that of Windows and the various differences between all the popular Linux distros/desktop managers.
That either means writing an abstraction layer to hide the differences between Windows & Linux from a newly planned application, or porting and maintaining an existing code-base, neither of which are trivial.
A software company would first try to justify the expense of the above by trying to forecast what the additional revenue would be earned from sales on that platform. For applications targeted at the domestic and office environments, where Linux probably still has a small footprint, I suspect the expense of the former isn't predicted to be covered by the latter.