There are three options in the platfrom target as of now. x86, x64, Any CPU. To complicate thing even worse, there is a checkbox called "Prefer 32bit".
When you are developing applications you have to make sure its Any CPU is Enabled and Prefer 32bit is disabled for maximum compatibility.
However some times you will be using native calles to platfrom specific APIs (eg: you are calling a 32bit native dll). Then enabling Any CPU will run your application as 64bit process in a 64bit operating system. This will indroduce exceptions in the runtime. You should be targeted to x86 platform. Same goes for 64 bit native calles, you should target it as x64 only.
Lets see why Prefer 32bit is there. Windows has a new target type called ARM (Windows 8 ARM 32bit as of the date Prefer 32bit is introduced). When this option is enabled and Any CPU is selected. A .NET application compiled to x86 will fail to run on an ARM Windows system, but an “Any CPU 32-bit preferred” application will run successfully.
Going forwards disable Prefer 32bit since nobody used Windows 8 ARM. Windows 10 ARM have resolved this issue.