Let's say you want to lazily instantiate a list of Customers in your model. If you check for the list count being = 0, how do you know if this is the first time through the code, (i.e. requiring a trip to the database), or if you've already made a trip to the database, but there where no Customers available? Well you can do it by making the List field = null and only setting it to be an instance of List when you've been through the code once. Like so...
private List<customer>  _Customers = null;

public List<customer> Customers
{
   get 
    {
        if (null == _Customers)
        {
            _Customers = new List<customer>();
            FillCustomerList();
        }
        return _Customers; 
    }
}