Power Apps has an Errors() collection that will capture any errors from an executed data source and allow you to view those errors and handle them gracefully. The problem is, it can be easy to forget to use the Errors() function because it is not apparent in the UI. You may be getting errors with your Patch statements, but because you're not checking for errors, the user would never know.
A typical pattern to use for handling errors with a Patch statement would look something like this.

Patch('my data source', Defaults('my data source'), {Column A: "value", Column B: "value", Colulmn C: "value" });
If(IsEmpty(Errors('my data source')), 
    Notify("Success!", NotificationType.Success),  
    Notify(First(Errors('my data source')).Message, NotificationType.Error)

In this example, if there is an error when inserting a record into the `my data source,` it will be an error message containing the error message. For example, if Column A was required in the data source, but the value was empty, the message would return "Column A is required.".

Additional Reading