From the documentation:
For underdetermined systems, LinearSolve will return one of the possible solutions; Solve will return a general solution.
Have a look also at NullSpace. The general solution is the sum of the output of LinearSolve plus any combination of vectors of NullSpace.