Bitcoin needs a problem (any problem) that is computationally difficult to solve in order to be able to offer certain security guarantees. This arbitrary problem was chosen by its designer:
For a given target T, find X such as SHA256(SHA256(X)) < T
It is correct that in and of itself this computation is useless. But exactly like http://en.wikipedia.org/wiki/Hashcash it is vital for it to be difficult to solve. In fact the whole network adjusts T dynamically to keep up with the fantastic exponential hash rate growth of the network these last 13 months: http://blog.zorinaq.com/?e=49