They are called QR Codes (Quick Response Codes).
Found a great video on CNET that gives a great general overview of how you can use this day to day:
Wikipedia gives you a more detailed and technical description:
On this website you can use their tool to create your own QR Codes:
For my Android phone I'm using an app called Barcode Scanner. I have a Sprint EVO 4G with an 8 megapixel camera and this Barcode Scanner app does amazingly well for several types of one and two dimensional barcodes.
The QR Code below will take you to my website: