Call me ignorant, or call me an ignorant geek, but I used to think is_home() and is_front_page() was the same thing, until I experimented with them the other day and noticed they did quite different things. Let me break them down:
This actually is the page where all your recent posts are shown. Which means if your “home” page is set to “static” then it will be false, otherwise it will be true.
This will return true if it is the root parent page – which I initially thought was the “home” page – any internal or children pages will return false.