If you are using IPFS (InfoPath Form Services (browser) forms) the only way to submit to a SQL DB is via a web service. If you are using InfoPath client (rich client) then you can bind your form directly to a SQL DB but that has limitaitons (tightly coupled approach) and requires more work when you make changes in your form (or in your SQL DB). You can also use webservices too in a rich client form. For the submit to SharePoint if the forms are all being submitted to the same library then this should just be using built-in InfoPath/SharePoint functionality (nothing custom). But if you need to submit to different or multiple document libraries you will need to use code to do that or a web service.
If you write your own web services it will be custom code for that form. Once you add new forms you need to write new web services (new code) to get the data into SQL. Changes in your form or in SQL will require changes in your web service - you will need to modify your web service code. If you want to add one new field to get to SQL you will need to make that change in the code of your webservice and test.
DBXL is a generic web service. We have written all the code required to map the data to SQL and also map to SharePoint. Since it's a generic web service you can configure as many forms as you need to map to SQL without writing any code. DBXL's GUI admin toold (called DAT) is where you do the mapping from your InfoPath fields to SQL. DBXL should save you money because you don't need to write or maintain code for your InfoPath forms, it lowers the total cost of ownership as compared to writing your own custom web services.
Feel free to email me directly via the forum - I would be happy to give you a quick demo showing you how DBXL works and how easy it is to use. I am not a developer and without any code at all I can take an InfoPath (rich client or browser form) and have it submitting to SQL and SharePoint in less than 10 minutes - it really is that easy!
Hope that helps