There are MANY reasons why you might want to have multiple opportunities for one contact. (Multiple products or offers, multiple jobs running for the same contact, etc.)
We need to be able to tie data to specific opportunity records and reference those opportunity records later. Meaning, having a workflow that could pull/change/move an opportunity if it had a certain value or other identifier. Creating opportunity IDs would mean that when an opportunity is created, that opportunity would have an some kind identifier that a workflow could specifically reference and the system would be able to see just that opportunity based on the filter or identifier we choose to do something with it.
For reference, let's say we have a Handyman who has 5 different jobs he is working for a landlord on 5 different properties. Those properties have different information on the opportunity records, but are all attached to the same contact record. Being able to use workflows or other means to move or manipulate each opportunity individually would be a huge benefit for automation and follow-up.
At the same time, this should also allow us to be able to pull data from Opportunity records to add into Invoices, Documents, and Contracts. That could enable a whole load of ideas.