Let's think that organization needs 5000 IP addresses. Giving 20 C Class IP addresses will cause of adding 20 entries for ISP router. That's problem. We could give Class B IP address, but that will also cause problem, because of waste IP addresses.
We can subnet Class B IP address. For example, Class B IP address is 18.104.22.168. We allocate organization with 22.214.171.124/19 block of Class B IP address (32 subnetworks). So ISP router will add just one entry for 126.96.36.199/19.
It seems, everything works.
1) Why it was decided to not use Classful addressing, if we can subnet them?
2) Can there happen some grand issues or move to CIDR is due to flexibility or something like that?