Many games asked user to "Press Any Button to Continue" after splash screens before game menu.
Is there any good reasons for asking that?
It is a carryover from arcade games. When the users insert their coins, it is undesirable to have the game begin right away (especially when the coin slots were typically at knee level).
They served other purposes as well:
They rarely serve a purpose outside of the arcade. The splash screen typically directs the user to another screen that offers a list of options the user may wish to use before beginning the game (eg. selecting game modes, loading from a previous save game, or configuring the game).
I believe it is mostly for presentation. I consider that screen a sort of doorway for people to enter the game. Consider this screen:
Like the cover of a book, a title sequence to a movie, or an intro track to a music album, the "press any button to continue" screen is a hint of what it's all about. It gives you some time to soak in the atmosphere without thinking about creating a new file, control settings, difficulty level, what have you. If you can accept the value of such a screen, your question narrows down to interactivity.
Why don't they just include the menu on this screen?
The same reason why you don't put a table of contents on the book cover. Granted, book covers are visible on the shelf whereas the start screen is a little bit deeper into the experience. But I doubt many people would want the table of contents on the covers of their favorite books just for the utility.
Why doesn't the screen just automatically move on to the menu?
Because now you have less control. Pressing "any button" is much less annoying than having to wait 2 seconds every time you start up the game.
If you don't think this screen is worth anything in the first place, well then it's just a matter of creative differences. This is a presentation issue and very much on the artistic side of UX. I personally love this screen, and pressing that first button is always pleasurable to me.
This is the time to determine which gamepads/joysticks the user are using. Some people have more than one game pad connected to the console. We scan for the first button press from all the game pads, and ignore the rest once we pass this screen.