I currently have a client that wants a lot of custom work at a fairly budget price. That's why its not possible to develop custom plugins for every single feature (WooCommerce Shop).
Is it a bad practice to use existing plugins and customize those. Since technically they'd lose their customization when you'd update them, but what would be the other option?
Since Plugins that depend on eachother (for example WooCommerce), even if you'd write a custom plugin, the dependencies would still be the same and you'd have to update the custom plugin instead of a pre-made altered one.
How do you guys deal with this & custom feature requests in general - And how would you explain this to the client?
It depends on the situation. If an existing plugin match 50% of the required functionality, then you can choose that plugin. Before choosing that you have to find whether it can be customized without overriding the plugin code.
If none of the above options work for you, then your choice is to create your own plugin. This may be quite the undertaking, but is your only option at this point.
Most of the plugins can be customized to meet your needs via first two points. Or moving a little to the ordinary developer view, ( which mayn't be practical or ethical ), copy the required functionalities from the plugin that exists, make your changes and add it to the client website.