Unit Tests - Tests a small focused piece of code, if the method accesses an outside resource, database, or service, that interaction is mocked. Many different scenarios can be tested - macks can return a null, throw an exception, return the proper data... Please check out this mockito cheat sheet https://gist.github.com/kbrv37/b7b68432f32630a74ce9e936a9d49745
Integration Tests - Tests the same piece of code but with actual interactions. Usually limits your testing scenarios, but you can ensure it works with your particular service, database, api, or resource.
- Clarity for developer - when running test locally, the developer can see which tests require outside resources and avoid running them
- Automated Build Speed - you can make your automated builds dependent or independent of successful integration tests.