This is the way Bitcoin works...actually there are no "accounts" in Bitcoin, only transactions.
When you send someone money you take a transaction
output, or several, you control (from previous transactions) and make it the
input of a new transaction. You have to use
all of the previous transaction output. As the transaction output becoming the new input is often larger than the amount you want to send, the rest will be sent back to your addresss!
If you want the nitty-gritty details:
https://en.bitcoin.it/wiki/Transactions