Android requires the ability to cache temporary files in order to operate. So to protect the phone's stability there is a minimum amount of free space set, and it will refuse to download and install new apps if it is below that minimum, or if doing so would take it below that minimum.
<br>
<br> What that minimum is depends on the phone and even the software version: it is a parameter set in the ROM. In the early days it used to typically be 10% of the /data partition (bear in mind that the early phones only had 100-200MB of internal storage to start with, so this meant 10-20MB). As storage increased that would have become absurdly large, so these days it will be specified as some number of MB rather than as a fraction. Depending on the phone though that value could be anywhere between 200MB to 750MB. 500MB is pretty common, but it sounds like for your phone the limit is set a bit lower than that.
<br>
<br> Is there anything you can do? Not really. If you've the skills to build a ROM from scratch you could choose your own minimum free space, but that's not a real option for most of us. Otherwise all you can do is work out what the limit is for your phone and try to keep that much space free. It's only internal storage that matters for this, so anything you can move to removable sd storage will help.
<br>
<br> Edit: too long a reply, ninja'd before I pressed 'post'...