You may have already found your answer, but, the first thing I always check is for required fields that were not completed (especially if you have a custom form and the required field was hidden for some reason). After that I check the field types
and insure that the right kind of data is being written in (this is especially true for checkboxes and People Pickers).
If you use Custom forms (and you did say that you have not done so), and any of your fields are Yes/No, form some reason, if that field is not interacted with from the user, then the field will not complete. Yes/No fields are "required" fields, although
the default should be set, for some reason it does not always take.
"I can't do this all on my own...I'm no Superman" - From Scrubs