Classes make it easier to design and maintain programs.
Without going in too much techie details:
- Designs can be modelled more towards the real world.
Consider you want to make a racing game program. Classes actually allow you to make a prototype, or blueprint if you will, for a "racecar". This blueprint defines what properties and functions a car consists of (speed, driving, steering,braking power, etc) Then you can create numerous objects (the actual racecars) and give them different properties, as in real life you would have a bmw with x amount of speed and y amount of braking power, which influences its driving and steering functions.
- Maintenance is easier this way because all the data that belongs to racecars is bundled in the racecar class. When in the future racecars start to hover, all you need to do is change some parts of the racecar class without the need for completely refactoring all your other code.
Another advantage is that when you bundle related data in a class, you are actually hiding it from the rest of the program. This means that someone can't alter this data if you have not specified a way to do so. In other words, it allows for you to impose your rules on how the class should be used.
That's pretty much the gist in my eyes, there are other things (inheritance, polymorphism), but if you're just starting out with classes, they might be a bit complicated to grasp at first.