From your description, it sounds like the problem might be due to built-in apps. Built-in apps (that come with the phone) don't take up your storage space, because they don't live in the data partition (where your apps and data are stored), but in the system partition. However, they can't be updated in the system partition, because it's read-only. Updating a built-in app is done by installing the new version to the data partition and ignoring the old version. The effect of this is that the whole size of the app occupies the data partition. Subsequent updates don't keep taking up more space: once the app is on the data partition, the package is simply replaced with newer versions in the usual way.
For instance, say the YouTube app is 17 MB. When it comes with the phone, it occupies no space on the data partition. It takes 17 MB in the system partition, but since you can't use that partition for anything else, that doesn't matter. Now you update YouTube from Google Play. The new version takes 17 MB on the data partition, as if it weren't a built-in app at all. The old version is still on the system partition, inactive, but it still makes no difference.
If you were to update a lot of built-in apps at once, then the effect would be much bigger.
This only applies to the app itself (the APK file), not its data and cache, which are always stored on the data partition.
Other than in the case of system apps like this, two versions of the same app (identified by their package name) can't coexist on the same device. Installing a newer version always removes the older version.
On a rooted device, or if you install a custom ROM, you can make the system partition writeable and update built-in apps directly on the system partition, so they still won't take up space on the data partition. This is quite a risky business, though: it's easy to accidentally change files you shouldn't change, and lose all your data or make the phone unusable. There's a reason the system partition is normally read-only!
/system
partition is usually mounted read-only – so "system apps" cannot be updated directly. Hence the updates are installed in "user-space". Think of it like with the PATH environment variable, with the "user space apps dir" being put in front of the "system space apps dir"; so whenever the app is found in user-space, the "other directory" is not searched anymore. – Izzy Nov 05 '14 at 15:36/data
partition will be replaced with newer version? – sourav c. Nov 05 '14 at 15:53