what are the practical uses of this, i'm sure there are loads

Let's say you are the owner of the bitcoin address that receives donations for Bitcoin protocol development. You can publish the fingerprint of the new Bitcoin core release in the bitcoin's block chain, having it signed by the address that receives donations. Everyone can then verify the integrity of the new version and be sure that it was released by the person who controls the donation address. If the named address is a multi signature address, the whole development team could sign the release.
In addition, let's say you want to donate to erowid.org:
http://www.erowid.org/donations/donations_cryptocurrency.phpThey have a static address available for bitcoin donations:
http://bitinfocharts.com/bitcoin/address/1BuA9NqUa66k3aVVYExo22rBZRRyJ2vCFrWith cryptograffiti you can compile an additional output address to be included in the donation's transaction.
For example, you enter the text "Thank you, Erowid!" and receive the according bitcoin address: 18hJoc46nY3aTL7cFa2Wt88WMHbT7wcdiX
Now you make a transaction to these two bitcoin addresses:
1BuA9NqUa66k3aVVYExo22rBZRRyJ2vCFr (donation)
18hJoc46nY3aTL7cFa2Wt88WMHbT7wcdiX (Thank you, Erowid!)
and once the transaction gets saved into block chain, the message you attached to your donation is saved forever. Everyone can decode the donation transactions made to erowid and see if there are any messages attached.
Similarly, services could be paid for, having short messages attached.
Let's say I run an automatic SMS sending service that takes payments only in bitcoins. The SMS sending engine detect a new incoming transaction and decodes the message attached to the payment. The message includes the target mobile number and a short message to be sent. SMS gets automatically sent and the operator gets paid.
Endless possibilities

amongst others, I have discovered love messages and web address advertising in the block chain. In early blocks there were even links to child porn. gets controversial
