It's not that I don't understand them. (Or maybe I don't) I just don't see how they are useful. I mean why do we need them? Aren't all networks defined by their segment address and subnet mask. For example, with segment 10.0.0.0 and subnet mask 255.255.240.0, why would I care that the first octet tells me that this is a class A address. I mean all I should care about is that 20 bits are used for the network ID and 12 bits are used for the hosts. Why would I have to know that 8 bits are for the network, 12 for the subnet and 12 for the hosts instead?
Also, why can't I have a segment like those: 192.168.0.0 with mask 255.255.192.0 or 172.16.0.0 with mask 255.240.0.0.
If the concept of class is a sort of vestigial thing left by history, why is it still so important today? The ICND1 book has been blabing about it for pages.
You have a point that classful addressing is mostly a historical thing. But there are some reasons why ICND covers it. One reason is that it is impossible to explain or understand VLSM (which is VERY important) without an understanding of classful fixed subnet addressing. Another reason is that it is not possible to explain certain behaviors such as the automatic summarization performed by RIP without understanding classful addressing.