Technical documentation describe specification and requirements for the product to function as designed. User documentation describe how to operate the product.
Software documentation is not needed if the code and concept is perfect -- but that'll never happen. Seriously, documentation is needed for debuggging problems, modifications as times/requirements...