I am thinking about buying Samsung Galaxy S3. The problem is that difference in price between 16Gb and 32Gb is significant, and it is much cheaper to buy SD card and compensate this difference. Is it good idea or not? What are disadvantages?
This is a question that I asked myself and the short answer is to always get as much memory inside the phone as possible, just to be sure. But saying that, it really depends on how you use your phone. I've gone for the largest amount of internal storage in my SGS3 as I could get (32Gb) and then a 64Gb external sd card, but I wish that I'd waited out for the 64Gb phone - reasons to follow after the tech bit:
The way that the version of Android you'll get on your SGS3 works is that it stores all application data on the internal storage and doesn't let you move that to the external SD card. This is probably to keep a good user experience - things will start going very wrong if you moved all your data to the external SD card and then removed that SD card. To note, older versions of Android did allow you to move apps to the external SD card. So when you download a game like NOVA, which clocks in at around 2GB of storage for the extra data it downloads, you will see that 16Gb or 32Gb internal storage is going to fill up soon.
To make matters worse - there's an extra layer to this: Android automatically assigns a private folder to each app, located in a protected folder on the internal storage. If you are non rooted, you won't be able to see this data, but it's what gets cleared when you 'clear data' within an application settings screen. If you are rooted it's located at '/data/data/'. This data is kept private so that only that app can look at the data, hence apps can't look at potentially sensitive information belonging to other apps. This data will always be located on the phone memory for security reasons. Some apps store a lot of data in these private folders: the newer version of Google music is a prime example - it stores all cached music in this folder (as mentioned in a comment older versions stored the music to the SD card, but this has changed in the newer versions to much annoyance)
So all your apps store all their data to the internal storage and there's not much you can do about it. After using my phone for a few months (installing applications, downloading music etc) my internal storage had 4Gb free (out of 32Gb) and my external SD card still had 60Gb free from my 64Gb. It seems that unless you root your phone and hack it a little, there's very little which will natively use the external SD card (I think you can relocate where photos are stored but that's about it from the native apps).
Hence I suggest to get as much internal storage space as possible, as that's the space which is going to be used first and fastest.
In regards to the other comments about installing apps to the ext card - I think they must still be using Android 2.x as this hasn't been an option since then, for the reasons explained above. To re-iterate - you won't be able to install apps on your ext sdcard using your SGS3 on a stock ROM
There are a number of factors that are important in the internal vs external memory debate. I guess two of them are of greater importance to determine what's best for you.
A lot of Android applications allow transfer to external memory like an SD Card but there are also a number of applications that don't. Depending on it's size, the internal memory (also known as primary storage) will fill up with those applications that can't be moved to the external memory. By having a large internal memory you can avoid the problem of not being able to install more application because of memory shortage.
If you have a rooted phone though you can move these application to an partition on the SD Card. With the use S2E (search in Google Play store) you can move applications to that particalar partition. If you do something like this, make sure you get a nice fast microSD card though.
Also remember that the Android system itself is installed on the internal memory causing the free space to shrink even more.
Applications use caches to store data. These caches reside on you internal memory and so it becomes even more crowded. Here, the same statement applies. Bigger internal memory is lesser problems with memory shortage.
Why is more internal memory expensive?
Most of the applications you use on your phone run faster on the internal memory than on the external memory. I guess someone with greater knowledge on this area could provide you with more information on why it's more expensive.