ID3v1.x is probably the most commonly used tag format, it was used originally on MP3's, it also probably the least flexible format. In total the tag had a fixed size of 128 bytes.
ID3v1.1 was a small "patch" for ID3v1 that added a field for the tracknumber, using the last two bytes of the comment field (so the comment field became 28 characters).
Information on the ID3v1.x standards can be found at http://www.id3.org/id3v1.html.
This is a very basic tagging format. It's limited to the following fields:
- Song title (30 characters)
- Artist (30 characters)
- Album (30 characters)
- Comment (28 characters)
- Genre (preconfigured list)
- Album track (ID3v1.1)
ID3v2 is a highly-extensible tagging format. Rather than allowing arbitrary name-value pairs like APEv2 or Vorbis comment, ID3v2 has a large database of specific field names that can be filled with various data. It is presently the only tagging format other than ID3v1 to gain acceptance and use on portables. However, in programs, it is difficult to add support, due to the format being incredibly complex. Furthermore, there have been technical issues in earlier versions of the specification that may still exist. These issues can cause conflict in a standard MPEG-1 Layer 3 stream.
ID3v2 Specifications: http://www.id3.org