Why if you remove a regular fee from the list on an event does it not get removed from the price set in the database?
Disabling of price field is actually helpful in case you need it in future and it is not shown anywhere else except price field browse page.

Eg:


Configure an event with regular priceset(is_quick_config = 1) with three field options.
Remove two of them (backend - civi disables it).
Now, a user creates a new priceset from Manage Price Set page and configure on this event. At this point, your regular priceset is not lost. Its value of is_quick_config is changed to zero, hence it will be now shown on the list of PriceSet page.


So, it provides a flexibility of again choosing the original priceset for your event. You can also delete unwanted field options of it from civicrm/admin/price/field/option?action=browse&amp;reset=1&amp;sid={set_id}&amp;fid={field_id} just like normal pricesets, if it is not used by any other event.