What is the difference betweeen hook_validate and case 'validate' in hook_nodeapi I am bit confused about hook_validate() and case 'validate' in hook_nodeapi(). Both do  validate a node.

Could anyone clear me the difference with a simple example that even a beginner can understand?
hook_validate is used inside a module that creates a node type of its own, and is used along with the form used to create the node to validate that all the information required has been entered.

For example, let's say you created a node type with a specific field in it of "area" and you wanted to make sure it was of the format city-state.  You would do it in here.

hook_nodeapi with op=validate is used to validate any nodes that are being edited but not created by the module in question.

For example, let's say you wanted to make sure a description field in a node with that field had more than 1000 characters.  You would do it with nodeapi/validate.

Carefully read hook_validate and hook_nodeapi for more information or clarification.