Share[expr] changes the way expr is stored internally, to try and minimize the amount of memory used.
Share[ ] tries to minimize the memory used to store all expressions.
Share works by sharing the storage of common subexpressions between different parts of an expression, or different expressions.
Using Share will never affect the results you get from Mathematica. It may, however, reduce the amount of memory used, and in many cases also the amount of time taken.
See The Mathematica Book: Section 2.13.4.
See also: MemoryInUse, ByteCount.
Related package: Utilities`MemoryConserve`.