The earlier and the later canonical IRC specifications, respectively.
Some software holds RFC1459 in higher regard than RFC2812, and some hold the opposite in higher regard. Honestly, the truth tends to lie somewhere in the middle.
There are many parts of the newer RFC2812 that software authors (reasonably) consider insane. And there are many parts that have updated RFC1459 in useful ways and have been widely-implemented by clients and servers today.
In the same way, RFC1459 has many useful parts, and there are also many places where due to its age or simply deviating implementations, it also has information that's totally incorrect.
Honestly, use these as a rough reference, say for a basic implementation. And then compare everything with multiple real-world servers and clients to find out how broken and incompatible your to-the-spec implementation is with the actual ones out there today.
If you're looking at these, it's worth taking a look at the Modern IRC docs which I'm writing up. The main doc there acts essentially as a replacement to these two, but is still very, very much a work in progress.
Do not take RFC 1459 or 2812 of these original specifications as gospel. They are both very old, and have lots of places where either due to age or decision, modern software specifically does not follow them.
Welcome to IRC, where the base specs we work off are all old and broken and regarded more as suggestions than anything binding. Strap in and "Thanks for flying IRC!"