A lot of the examples for unit testing that I see involve testing that numbers add up. For example, Derek Greer demonstrates unit testing a calculator app, making sure that the equals function does what it is supposed to do (http://lostechies.com/derekgreer/2011/03/14/effective-tests-a-unit-test-example/).
I see how you could write a series of unit tests for something that needs to perform accurate calculations. But the application I am working on at the moment is an intranet / content management system and doesn't perform any calculations. The vast majority of transactions involve the user sending a request to the API, which hits the database and returns JSON.
I am not really sure where to start unit testing an app like this. Take the search process. Which bits of the API for searching should I write unit tests for? I've read about mocking and stubs to replace database calls (which confuse me), but I've never really understood why I shouldn't test responses from the database. Why is this?