What is the purpose of 'Constraints' in the exercises?

My initial view of the constraints was that they were extra requirements which your implementation should accommodate for, other views I have heard are they are for information purposes only so that your implementation does not handle unnecessary test cases.

I would have thought implementing these in the code handles the latter in the above. Any thoughts?

This is correct. You may not find that to be true for very easy problems. But you will reach a point where the constraints stop you from a bruteforce approach, for example.