Constructors are there so that when you create an instance of a class you can ensure that it has all the required information available when you try to use it.
Assume you have a Person class - you can't construct a Person without knowing a fair amount of information about them: their name, date of birth, and address for example.
Providing a constructor allows you to be sure that when the Person is created that information is supplied so that you can do this:
Person mike = new Person("Mike Smith", new DateTime(1999, 1, 17), "3, Larch Lane, LarchTon");
Console.WriteLine(mike.Age());
Because your Person constructor insisted that I provide the date of birth when I create the instance, I can call the Age method and know it won't have a problem.
The same is true for default constructors: they let you ensure that everything the class needs to do it's job is created and ready before the instance is used.