When I do a google search on my primary keyword, my site shows up in its usual place. But instead of Google displaying my homepage, it displays one of my sub-pages. Why would it do that? It still has the same rank in terms of search results, but now its a sub-page that is ranking and not the home page. I haven't done any SEO work on it for several months, so not sure what would have caused this. Any ideas?
If you are working on that keyword for the specifed url then Google displays the sub pages url. If you will optimize it for home page then surely it will show home page, also your home page should be relevant to the specified keyword.
I did optimize it for my homepage. The sub page has more content on it, but I never did any SEO for the sub page.
It happens some times, if you have done your SEO properly then this is usually the case. Often the inner pages are optimized for a certain keyword much more than the home page which gives a general view to cover the site's various aspects. The inner page is limited to only that keyword for which it was to rank for, that is why it must appear above the home page.
Might be your hompage have got penalized by the search engine of Google. Just check whether the rankings of the keywords have dropped or not.... ?