How to create new node programmatically, when a new user is created, in Drupal 7?
It is correct that you need to implement hook_user_insert(). The code that needs to be implemented is different from the code you would implement in Drupal 6 because the node body is a field, in Drupal 7 (see Field API).

The implementation of hook_user_insert() should be similar to the following.

function mymodule_user_insert(&amp;$edit, $account, $category) {
  $body_text = 'This is the text contained in the node body.'; // [1]
  $node = new stdClass();
  $node-&gt;type = 'article';  // [1]
  node_object_prepare($node);

  $node-&gt;language = LANGUAGE_NONE;

  $node-&gt;body[$node-&gt;language][0]['value']   = $body_text;
  $node-&gt;body[$node-&gt;language][0]['summary'] = text_summary($body_text);
  $node-&gt;body[$node-&gt;language][0]['format']  = 'filtered_html';

  $node-&gt;title    = 'Node Created Programmatically on ' . date('c'); // [1]
  $node-&gt;uid      = $account-&gt;uid;

  $path = 'content/programmatically_created_node_' . date('YmdHis'); // [1]
  $node-&gt;path = array('alias' =&gt; $path);

  node_save($node);
}


The lines marked with [1] are the parts that you need to personalize.