In first instance images are stored as a resouce file and are saved in the resources. Whereas in the second instance you specify the path where the image resides.
Yes you can add image in resources progamatically if you are working in .net 4 or above. See this for details.