I hope you will excuse the mention of another commercial product here, but I genuinely believe it's relevant to this question. I work for a company that creates an Excel add-in which is primarily designed for publishing and subscribing to real-time market data from a variety of platforms. However, one of our clients was attempting to share spreadsheets using Excel's built-in workbook sharing mechanism and this was causing them huge problems. (Sharing was slow - it would take tens of seconds or even several minutes to propagate changes. Also, the workbooks kept growing in size to the point where they became unstable or even too large for 32-bit versions of Excel.)
Consequently, we created a real-time sharing mechanism for Excel. A block of cells that are to be shared is referenced by a special sharing function (implemented by our add-in). This causes them to be published to a shared cache. When the spreadsheet is opened by a user, it retrieves the current values from the shared cache. When any user makes a change to a shared region in the spreadsheet, the change is propagated (through the shared cache) to all other users with the spreadsheet open. Both values and functions within shared regions are shared - so users can collaboratively edit the spreadsheet (within certain limits).
We believe our solution is far better for many sharing requirements than Excel's build-in sharing. It's also very different to the CollateBox solution mentioned above (which, if I understand correctly, shares spreadsheet data through a website but does not push real-time changes back into Excel).
Further details are available at: http://www.mdxtechnology.com/products/mdxt-share.