One means start the job every N minutes
The other is cancel if it runs over x minutes.
So, let's assume you had a program which when run, remained on the screen for 60 seconds and then shut down. We'll ignore what it actually does, other than you can see it for 60 seconds at a time.
However, let's assume that next time you run it, it's still up after 60 seconds, it's still up after 120 seconds, 300 seconds! Well, something has gone wrong! May be it's crashed? Either way, it's not working, but you can see it, so you can close it.
Now, let's assume you can't see it! You know it should last 60 seconds to do it's thing, but you have no idea if the program has faulted/got stuck etc. It may be ideal that, if the task doesn't complete after 120 seconds that you want it to be cancelled.
We have this at work, a task kicks off every 10 minutes but the task should only take 1 minute. Quite literally, we have a command which states if it's running after 5, kill it! Since we know it will run again!
The reason why you have different places to set this (under the triggers tab, open up the trigger you can cancel a task after X time as well as under the Settings tab) is to give control per trigger. For example:
Suppose I have Task which has 3 triggers. And in this example they all kick off at 8:45am, 15 minutes before I get to work. The 3 things it does is starts Outlook for me, and runs 2 processes. My 2 processes should only last 1 minute each, but I don't want Outlook to only open for 1 minute. So, in my Settings tab (global settings for the task) I kill the task if it lasts over 2 minutes. This also kills Outlook! So, in my triggers, under Outlook, I ensure this isn't the case by over writting it!