Para controlar quando uma função Javascript será executada, use setTimeout(), que aceita dois argumentos. O primeiro argumento é a nome da função, e o segundo, em quanto tempo a função será executada (em milisegundos).
Para mudar o conteúdo de um div após dois segundos que o usuário passou o mouse em um link:
Se você passar o mouse no link, remover o ponteiro de cima dele, e voltá-lo, ainda assim a função será executada. Mas existe um jeito de cancelá-la...
Suponhamos que você queira cancelar a execução da função antes dos dois segundos. Para isso, você pode usar a função clearTimeout(). Ela aceita um argumento, que é qual tempo iniciado pelo setTimeout() devemos cancelar.
Agora, se você voltar o mouse em cima do link antes dos dois segundos, o div não será atualizado. Deixe o ponteiro fora por um tempo maior que esse, e a mensagem aparecerá.