Http monitor does a get request against the back-end server essentially equal to making a web call.
Tcp monitor would be equivalent to a telnet check.
Both are diff accomplishing 2 diff things.
It depends on case to case basis but I don't see adding both the monitors would cause any issues other than consuming extra resource on F5 if the scale of the deployment is very huge.
You can specify monitors to check pool members I don't see any benefit monitoring just nodes. I usually disable the node monitors by default when building the F5's.
The duration by default is interval 5 sec and will time out at 16th sec if no response is received from the pool member. Use the formula (3xn)+1, where n is the interval if you need to customize the intervals.