Drupal can be mysterious in many ways sometimes. Tying to do the simplest things can become a complex series of function calls, that sometimes makes your head hurt tyring to remember everything. http://api.drupal.org can usually give you the answer you are looking for, if you know how to find it. Recently I had to figure out how to create a full path to a file from a file object uri and wanted to share this information.
In Drupal 7 they completly rebuilt the file system. Files are now accessed through a 'uri' (Uniform Resource Identifier). This change allows for a ton of flexibility that you couldn't have in Drupal 6. Now modules can create their own uri's, which allows the moudle developer to control the whole file processs. But the way in which you accesses those files remains the same.
Getting the full path of a file from a node with a filefield
//This creates a full url including www.example.com
//field_get_item is the proper way to access node properties so that language is taken into consideration
$image = field_get_items('node', $node, 'field_image');
$url = file_create_url($image['uri']);
Load file object from a fid
//Load a file object from a fid
$fid = 10;
$file = file_load($fid);
Thats all I got for right now. I will continually update this post as I learn more. If you are interested in a specific task, drop a note in the comments below.