What is difference between #value and #markup? I had gone through drupal link which contains something as shown below 
https://drupal.org/node/224333

Use '#markup' not '#value' for markup

(Issue) The new default type for items in forms or other structured array data (e.g. node content) passed to drupal_render() is '#type' => 'markup'. In Drupal 6 and earlier, the HTML content was added to the array using the #value attribute. In Drupal 7, this needs to be changed to #markup. This change also applies to those form elements of '#type' => 'item'. This change reduces the confusion between form values and markup and allows the code in drupal_render() to be simplified.

Example 1, from system.admin.inc
In Drupal 6:

&lt;?php
  $screenshot = $screenshot ? theme('image', $screenshot, t('Screenshot for %theme theme', array('%theme' =&gt; $theme-&gt;info['name'])), '', array('class' =&gt; 'screenshot'), FALSE) : t('no screenshot');

  $form[$theme-&gt;name]['screenshot'] = array('#value' =&gt; $screenshot);
?&gt;


In Drupal 7:

&lt;?php
  $screenshot = $screenshot ? theme('image', array('path' =&gt; $screenshot, 'alt' =&gt; t('Screenshot for %theme theme', array('%theme' =&gt; $theme-&gt;info['name'])), 'attributes' =&gt; array('class' =&gt; 'screenshot'))) : t('no screenshot');

  $form[$theme-&gt;name]['screenshot'] = array('#markup' =&gt; $screenshot);
?&gt;




I have a code in drupal 6 which is as shown below : 

$form['in_title'] = array(
  '#type' =&gt; 'button',
  '#value' =&gt; t('ort'),
  '#executes_submit_callback' =&gt; false,
  '#attributes' =&gt; array('class' =&gt; 'hide-submit-exclude'),
);


I want to convert this code to D7 .
So When and where should I use #markup and #value ?
I just want to know the difference between #markup and #value
#markup is 


  Used to set HTML that will be output on the form.


#value is


  Used to set values that cannot be edited by the user. Should NOT be confused with #default_value, which is for form inputs where users can override the default value.


For #value this might include submit buttons, hidden elements, etc. - basically anything that needs a value for the form submission, but where that value should not come from the user.

The only change you need to make in your sample code is to allow for the fact that classes in the attributes array must now be in an array themselves:

$form['in_title'] = array(
  '#type' =&gt; 'button',
  '#value' =&gt; t('ort'),
  '#executes_submit_callback' =&gt; false,
  '#attributes' =&gt; array('class' =&gt; array('hide-submit-exclude')),
);