Cracks in a driveway may be caused by roots growing underneath the driveway and causing the ground to expand. They can also be caused by weeds, Subsidence and Overloading. The article below shows how you can make a repair, and hopefully fix the issue.
Roots (especially trees and large plants) tend to expand the surface around them as they grow, causing cracks. Or, the roots break down the surface causing holes.
The holes (x2) and crack are a bit small in the image below, so they are highlighted in yellow
In the case of large roots from trees or large bushes, the only way to repair this is to cut the root, or repair the driveway every time a crack starts to appear. You can either try and cut the root before it gets to the driveway, and then leave the root to decay, or dig the root up. Either way, the driveway will need a repair. You also need to consider:
What damage cutting the root may do to the plant or tree?