So a shared field in Sitecore - basically means the value of the field is the same in every language.
There might be the situation where you have a field in use (it may have been in use for a long time) but you've realized it should be shared.
You might have different data against 50 different languages - what will happen to my data?! For example you may want the shared value to be that of the French version.
Well actually there is logic behind it and it's not based on the current language you have selected against the template.
If you make a field shared, which has data in it, Sitecore will set every language version to use the field data from the last language version you updated that field for.
Might help someone :-)