The advantage of class based routing is that it is easy to subnet. In Classful Addressing, the most significant bits (those on the left of the IP address) determine the class. Subnet sizes are fixed and can't be changed. For example, a Class A address will always start with a 0 for the most significant bit, so class A address are 0.0.0.0 through 127.255.255.255. The subnet mask in a Class A will also always be 255.0.0.0. Class B is always 255.255.0.0 and Class C is always 255.255.255.0. Easy.
The disadvantage of Classful Addressing is the same thing that makes easy. Because subnets are fixed you have no flexibility which can lead to over allocating and wasting IP space. For example, lets say a network admin for company X needs to create a network that will hold up to 256 hosts, with little plan for expansion in the near future. Under the Classful scheme he couldn't use a Class C (mask of 255.255.255.0) space, as it only has room for 254 hosts (2 addresses are reserved for the network and broadcast addresses). He must go up to a Class B space (255.255.0.0 or /16) which holds 65,534 addresses ((2^16)-2). Huge waste. Now imagine, these are also publicly routed IP addresses, with a leasing cost associated with them. Which is cheaper, paying for for the /16 or a /23 (512 addresses)? Also, that's kind've the reason we are out of IPv4 addresses (or almost so). A lot of business own the lease to large swaths of space that they don't actually use, because they got them back in the classful days. The part is there really is that many nodes on the Internet, but classful addressing didn't help.
That's why Classful addresses, for the most part, was abandoned a long time ago. We now use CIDR (Classless InterDomain Routing) addresses with VLSM (variable length subnet masks).
P.S. For those of you who also understand networking, yes, I know in my scenario you could have 2 subnets and/or purchase two /24s, but that wasn't the point and I was keeping it simple.