Can an app save data on the SD card? I have noticed that when I remove an app, which is placed on the SD card, this also frees up space on the main storage. The space freed up corresponds to the "data", which an app stores. My question is, therefore, why does an app, which is placed on the SD card, still choose to store its data on the main storage? Is it because it is impossible not to, or lazyness on the part of the developer?
Apps can store data in both places, but the SD card has a FAT filesystem which does not support file permissions.  This means that a malicious app could erase or change app data very easily if the data was on the SD card.  As well, you can swap SD cards or format your card, and then the app would have "forgotten" all its settings and lost all the other data.  So it's a very good idea to put app data in the phone storage, where Android can manage access to the data and protect it.

On newer versions of Android, the SD card filesystem can be virtualized to enforce permissions.  Couple this with encryption, and the above issues go away.