unit tests generally have a faster iteration loop than end-to-end testing. so while you don't get the full coverage of a workflow, you do catch some class of bugs earlier than you would if you only rely on end-to-end testing.
IMO both are to be used together...unit testing for increasing development speed by catching errors earlier, end-to-end testing for making sure the full workflow works
the failure mode is writing so many unit tests that you actually slow yourself down maintaining a bunch of tests that barely ever increase your total velocity