This is explained in the MSDN documentation:
When the number of items selected does not match the verb selection model or is greater than the default limits outlined in the following table, the verb fails to appear.
Type of verb implementation Document Player Legacy 15 items 100 items COM 15 items No limit
The problem here is that users will select a large number of files, then accidentally Print all of them. This fires up 100 copies of Notepad or Photoshop or whatever, and all of them start racing to the printer, and most of the time, the user is frantically trying to close 100 windows to stop the documents from printing, which is a problem because 100 new processes is putting a heavy load on the system, so it's slow to respond to all the frantic clicks, and even if the click manages to make it to the printing application, the application is running so slowly due to disk I/O contention that it takes a long time for it to respond to the click anyway.
In panic, the user pulls the plug to the computer.
The limit of 15 documents for legacy verbs tries to limit the scope of the damage. You will get at most 15 new processes starting at once, which is still a lot, but is significantly more manageable than 100 processes.
Player verbs and COM-based verbs have higher limits because they are typically all handled by a single program, so there's only one program that you need to close. (Although there is one popular player that still runs a separate process for each media file, so if you select 1000 music files, right-click, and select "Add to playlist", it runs 1000 copies of the program, which basically turns your computer into a space heater. An arbitrary limit of 100 was chosen to keep the damage under control.)
If you want to raise the 15-document limit, you can adjust the
MultipleInvokePromptMinimum setting. Note that this setting is not contractual, so don't get too attached to it.