implementation of hook_menu() is not working I want a page where a user can create 3 different content types : "Machine" , 'Equipment" or "Services" .
My goal is to implement 3 tabs for each content type node creation form.

I implemented hook_menu like below :

function MyMODULE_menu() {

  $items['instrument'] = array(
    'title' =&gt; 'Instrument',
    'type' =&gt; MENU_NORMAL_ITEM,
    'menu_name' =&gt; 'main-menu',
  );

  $items['instrument/machine'] = array(
    'title' =&gt; 'Machine',
    'type' =&gt; MENU_DEFAULT_LOCAL_TASK,
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; 'product_node_form',
  );  
  $items['instrument/equipment'] = array(
    'title' =&gt; 'Equipment',
    'type' =&gt; MENU_LOCAL_TASK,
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; 'equipments_node_form',
  );  
  $items['instrument/service'] = array(
    'title' =&gt; 'Service',
    'type' =&gt; MENU_LOCAL_TASK,
    'page callback' =&gt; 'drupal_get_form',
    'page arguments' =&gt; 'member_profile_node_form',
  );

  return $items;
}


After enabling my module, I expected that the menu item should be in main menu, but it wasn't there and I got a 'page not found error' when targeting "mywebsiteaddress/instrument" .

Where is my mistake?
There are 2 things going on: you've not defined the permissions on the menu &amp; you've not defined the page callback for when the 'instrument' path is accessed. Without this, Drupal doesn't know when or what to display for your 'instrument' menu item. 

Doing something like this:

  $items['instrument'] = array(
    'title' =&gt; 'Instrument',
    'type' =&gt; MENU_NORMAL_ITEM,
    'menu_name' =&gt; 'main-menu',
    //@TODO: define a function called mymodule_instrument_page_callback 
    // that will render the page for the 'instrument' path.
    'page callback' =&gt; 'mymodule_instrument_page_callback',
    // Setting 'access arguments' =&gt; array('view content') 
    // will allow anyone with the 'view content' permission to view the menu item.
    //'access callback' can be used for dynamically determining access
    'access arguments' =&gt; array('view content'),
  );


Will make your menu item available. See the hook_menu() docs for information on page &amp; access callbacks.