The links shown below some sites in Google search results, called sitelinks, are meant to help users navigate your site. Google generates these sitelinks periodically from your site’s contents.
You can see an example below showing Google search results containing sitelinks when people search for my name “Neerav Bhatt”.
The idea is that Google’s systems analyse the link structure of your site to find shortcuts that will save users time and allow them to quickly find the information they’re looking for.
Sitelinks are completely automated and Google only shows them if they think they’ll be useful to the person searching, I have no idea how they determine this but at the moment Sitelinks tend to appear more often for name searches eg: Names of people, locations, companies etc and are also more likely to appear for popular websites.
Webmasters can view and influence potential sitelinks for their site and block the ones they don’t want to appear in Google search results by using Google Webmaster Tools.
To view and manage your sitelinks, go to the Webmaster Tools Dashboard and click the site you want. In the left menu click Links, then click Sitelinks.
Occasionally you might want to exclude a page from your sitelinks, for example: a page that has become outdated or unavailable, or a page that contains information you don’t want emphasized to users. Once you block a page, it won’t appear as a sitelink for 90 days unless you choose to unblock it sooner. Note: it may take a week or so to remove a page from your sitelinks.
I can’t see why they limit blocking to 90 days per link, it should be up to the webmaster to choose to block a page from appearing in sitelinks forever. At present you might have to re-block it again after 90 days.
Because Google generates sitelinks dynamically, the list can change from time to time and sometimes disappear altogether.