I discovered that order is important in declaring laravel routes and that some can be greedy.
the first example doesn't work because the first line takes precedence over the second one
Route::get('/event/{event}', [EventController::class, 'show'])->name('event.show');
Route::get('/event/create', [EventController::class, 'create'])->name('event.create');
The right way to write routes in order is below
Route::get('/event/create', [EventController::class, 'create'])->name('event.create');
Route::get('/event/{event}', [EventController::class, 'show'])->name('event.show');