Why are RFC's hard to read?
The purpose of RFC's is to ensure interoperability on the internet by precisely specifying protocols. For this purpose precision and unambiguity is much more important than easy readability for laymen. The target audience for RFC's are systems developers implementing network stacks, not the common developer who just writes
Furthermore RFC's are supposed to be long lived. The first RFC's are from 1969, and many older are still critical for the internet infrastructure.
These priorities leads to some choices which makes them harder to read:
They use an plaintext paged ASCII format which is not very browser-friendly (monospace font, strange gaps when pages split and so on). In this age were everything is HTML or at worst PDF, this seems like a relic. But in the time since RFC's was invented multiple "rich"-text formats have come and gone, but plain ASCII remains readable on all systems. And it is an unambiguous format, not subject to browser bugs and differences.
They use a jargon where some words have more specific meaning than in plain language, eg. the infamous:
The key words
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted
as described in RFC 2119 [RFC2119].
This is more akin to legal jargon, where precision is more important than easy readability.
RFCs attempts to be as short and to the point as possible, again to avoid ambiguities. For example, adding a code example introduces redundancy. If the code example subtly contradicts the spec, it will be unclear which is correct. If there are code examples in multiple languages this risk increases. Furthermore, code examples become dated. If RFC's from the 70ies had code examples, they might have been in Fortran or BCPL or assembler for processors long obsolete. It would have been more work making sense of the code examples than to read the RFC-prose, however obtuse.
The W3C are uses a different approach than RFC's. They write Recommendations which are generally easier to read. They are formatted in easy readable HTML, and use illustrative examples much more (the examples are typically marked as not normative to avoid ambiguities if the example contradict the spec). W3C recommendations are therefore quite readable. For example the CSS2 spec is (in my opinion) easier to understand than many CSS tutorials.
The W3C recommendations have a different audience than RFC's. The audience for RFC's are systems developers, while the audience for W3C recommendations are browser and application developers, and web authors and designers. A much broader audience.
That said, RFC's are not that difficult to read. If you get over the archaic presentation format, they are often surprisingly easy to understand.