The concept behind Payment is that it prevents duplicate work ("reinventing the wheel") and that it improves quality, both because it tries to set high standards, and because it allows the same amount of time to be spent on a lower number of modules.

Old situation

This image shows three popular payment methods for three of Drupal's webshop modules and some other applications. As you can see, there are several modules to process payments using Paypal alone. The same goes for every other payment method: all those modules are 90% identical, because that's simply the party that connects Drupal to the payment method service.

Payment (also known as the new situation)

The philosophy behind payment is to make every module do one thing, and do it well. It forces payment method types to be separate from their contexts. In order to build an application for your website, you need Payment, at least one payment method, and a module that provides the context that you need. This means we no longer need a Paypal for Commerce or a Paypal for Ubercart module, but just one Paypal, one Payment for Commerce, and one Payment for Ubercart module. The advantage becomes obvious when you look at larger numbers of payment method types and contexts. Say we have 5 payment method types and 5 contexts, writing a payment method for every context results in 5 * 5 = 25 separate modules. With Payment, this would result in only 11 modules: 5 payment method types, 5 contexts and Payment itself.

Advantages for your project

Say a client of yours wants a webshop that offers payment method XYZ™, which is very popular in your country. You can write the payment method directly for the specific webshop module you are using to build the website, or you can write it for Payment instead.

If you write a Payment XYZ™ module, the XYZ™ payment method type becomes available to all Payment contexts and not just one specific module. This means XYZ™ is more interesting for other people to use, which in turn means that more people will be able to give feedback or even help maintain the module, which increases the stability of the payment method, and in the end also increases the stability of the project you are working on for your client.