1 and 3 are currently the commononly defined prefixes for an base58 encoded address.
1 is most common and denotes a simple "pay-to-PubKey" transaction. This transaction shows an actual recipient address.
3 indicates a "pay-to-script-hash" address that contains a hash (one way fingerprint) of a script that can be used for multiple things including address obfuscation and multi-signature requirements. This script is required to be a valid bitcoin transaction script, but the full script behind the scenes is not public, just the hash.
More information here: https://en.bitcoin.it/wiki/BIP_0016
More info on the base58 implementation used: https://en.bitcoin.it/wiki/Base58Check_encoding