how to display/hide block on homepage depending the value in user profile field?
I would use the PHP visibility settings to display the block if user has requiredvalue. Once you've created the block that you want to display (or not display) add the following code to the "Page specific visibility settings" in the block configuration menu:

 &lt;?php 
    global $user;

    If($user-&gt;your_profile_field_value == 'requiredvalue' &amp;&amp; drupal_is_front_page()) {
    return TRUE;
    }

    return FALSE;

    ?&gt;