Directly modifying the MSSQL database very easy and fast but also potentially dangerous. You need to have a good understanding of parent and child tables, column data types, manual and auto-increment indices, and MSSQL statements. Database integrations can also potentially bypass fields that are required in M1 forms but not in the database itself. I recommend using the API integration whenever possible. The API (should) stop bad transactions (i.e. missing critical fields) and also be future-proof (i.e. if an update adds a critical field or a new child table it should prevent bad entries whereas a direct database integration will happily create bad entries).