Do I Need Constraints
You definitely want to keep database constraints.
They guard data integrity at the database level, not allowing for inconsistent data situations.

An example: your database and application are about students and lockers. So you have two tables: Students and Lockers, and the Locker table has a column linking/pointing/referencing/assigning a locker to a student.
Say your application allows to submit a new student AND at the same time he can choose a locker. That means two database actions and an email to the student:
1. Insert a new student with a new ID.
2. Update the Locker table record linking assigning it to the new student.

Logically, we would first insert the new Student and then update the Locker record, but your programmer is not so experienced and codes it the other way round, not very logical but nobody sees the illogical code and hey it works perfectly while he demo's it.

Now in the real world, as Murphey dictates, when a real user is using the app, halfway the process the web server crashes (database timeout, deadlock, etc...). So the locker record has been updated pointing it to the new Student ID (and the email got sent out), but the Student record never got inserted.
Oops, so you've ended up with a locker assigned to a non-existing student.

You want those database constraints to guard database integrity.