Because the general principle of writing a test case and then writing/editing code still applies with functional / integration tests.
And I have always preferred to use functional tests to test bigger components / packages based on their public interface then to write a unit test every small function inside the package.
Unit tests seem to be much more useful in situations when you know exactly what should your inputs and outputs be, for example if you are writing a function to transform data from one type/object to another. This is where unit testing shines.
But a lot development usually involves integrating / gluing together several higher level components together and passing data between these components and I much prefer functional tests there.