главное отличие в том, что переменные экземпляра получают значения по умолчанию, например, int value get zero, char получает значение NULL, но не локальные переменные.
Вы можете оставить неинициализированную переменную экземпляра, но где локальные переменные должны быть инициализированы, иначе вы получите ошибку компилятора.