Проспект - исключительно городская трасса, широкая и многополосная, центральная или ведущая в центр города. Для шоссе важно, в первую очередь, направление из города (Рижское приведет в Ригу, Ярославское-в Ярославль и так далее), и оно продолжается за городом. Проспект может перейти в шоссе, например, Кутузовский проспект в Москве переходит в Можайское шоссе, Ленинградский проспект переходит в Ленинградское шоссе, Рязанский проспект тоже в итоге становится Рязанским шоссе, хоть и не сразу.
Разумеется, есть исключения с названиями шоссе по населенным пунктам, их немного: Открытое шоссе когда-то было Открытой улицей на окраине Москвы, когда его расширили, то дали название "шоссе" (оно не ведет в центр города), Обводное шоссе - функциональное название, шоссе Энтузиастов всю жизнь носило имя Владимирский тракт, потом Владимирское шоссе, а в Советское время придумали пободрее название (энтузиастов-революционеров отправляли по этой дороге в ссылку).
Четкости не может быть и в названиях проспектов, ведь время идет, меняется ширина улиц, возвращаются исторические названия. Например, улица Новый Арбат - типичный проспект по сути и исторически это бывший Калининский проспект.
За кривого Маркса поставил бы отдельный лайк)
Проспект (перспектива уст.) прямой. Невская перспектива - Невский проспект.
Шоссе может быть любой конфигурации. И в центре Питера есть шоссе, например, Революции и за город оно не ведет.
Чем отличается шоссе от проспекта выяснили. А чем отличается шлях от тракта ?