Yes, you could send bitcoins directly to the public key: in fact, both Pay-to-PubKey (P2PK) and Pay-to-PubKey-Hash (P2PKH) were introduced in the first Bitcoin release.
IIRC, P2PK is still used for Coinbase transactions sometimes, today.
P2PK transactions are slightly bigger for outputs but significantly smaller for inputs.
One advantage of P2PKH is that addresses are shorter than public keys. This allows addresses to be represented with 34 characters in Base58check.
If there were a standard to present public keys in Base58check, they'd probably have 51 characters. Arguably, it is easier to type a character jumble that is only 34 characters than one that is 51 characters.
But really, addresses get used because there is a standard for them and there is none for public keys. Why that is so, I don't know.
All credit to Pieter, who has provided the knowledge to amend my errors. ;)
Also see this related question: Why does the default miner implementation use pay-to-pubkey?
l
and1
, something like that, to make then easier to read