Products, like most modules and webapps allow the addition of custom fields and automations. Subscription don't have these, nor currencies.
This means that any additional information like currency symbol, features, default etc need to be stored in a web app, or hard coded in the layout based on id, weighting etc which makes the coding much more complex and not very robust to changes.