Чем наследования (extends) отличается от создания новых экземпляров классов (new)?
Класс Car - это трафарет.
Оператор new - это создание ИЗДЕЛИЯ по этому трафарету
extends - это создание нового трафарета (возможно с дополнениями) по которому можно создавать изделия.
Между созданием изделия и создание нового трафарета есть разница?
Ваш пример не содержит кода, поэтому он не корректный.
Что если мы напишем так:class Vehicle {
    public speedUp (int newSpeed) {
        speed = newSpeed;
    }
}

class Car extends Vehicle {
    private boolean opened = false;
    public void openDoor {
        opened = true;
    }
}

class Tank extends Vehicle {
    private ammo = 10;
    public void fire(Vehicle enemy) {
        ammo -= 1;
    }
}
Будет более явно видно, зачем нужно наследование. Теперь в классе Tank и в классе Car не нужно описывать отдельно одинаковые методы, так как они вынесены в общий суперкласс.
Класс - шаблон для объектов. Он определяет то, чем характеризуются объекты (поля) и то, как они себя ведут(методы). Внутри класса мы описываем его методы и поля, но для их использования нужно создать экземпляры класса - объекты.
Наследование применяют, чтобы избавиться от копирования кода. Если в двух классах есть что то общее(например, одинаковые методы), возможно, стоит сделать более общий класс, от которого наследуются два других.
TL;DR
В результате наследования получаем более простой и короткий код. В результате создания объектов получаем возможность оперировать данными объекта.
p.s. почитайте книгу какую нибудь, где будут описаны простые примеры инкапсуляции, полиморфизма и наследования. Например, "Head First Java". Или можете обратиться к мини-курсу от Oracle - Oracle tutorial