onCreateOptionsMenu() is called once.
onPrepareOptionsMenu() is called every time the menu opens.
From the onCreateOptionsMenu() documentation:
This is only called once, the first time the options menu is displayed. To update the menu every time it is displayed, see
onPrepareOptionsMenu(Menu).