What is the need for multiple private keys?
The main reason to use multiple private keys is for privacy. Say you receive 1 BTC at address A, and you want to send 0.1BTC to someone at address X. (We'll neglect tx fees for easy math).

0.1 BTC Address A -&gt; Address X
0.9 BTC Address A -&gt; Address B


Now assume you were trying to watch any spending activity from the User at Address A, how would you know whether they own Address X or Address B? If you send change back to Address A, then it is easy to continue to track the user's spending after the 1st transaction. So, wallet applications keep track of all of the newly generated change addresses (since it generated them), so they can be aware of all the user's unspent Bitcoin.

Another reason might be to manage multiple accounts for accounting purposes. BIP32 is a common standard for generating sub-accounts using the same master key pair.