I would recommend that you go through the Force.com Fundamentals Workbook for creating a Recruiting Application. A role hierarchy is created as part of creating the application. The criteria that you'll want to consider when creating roles vs an existing organization's functional structure is explained in a fair amount of detail in the section that covers it.
Sharing groups, sharing rules, determining OWD, FLS, reports and user management are also covered as well. This workbook is the basis of most of what one needs to know to pass the DEV-401 Certification. Your question is far too broad to answer beyond pointing you to this workbook and telling you to spend the time that's necessary to work your way through it. When you have a more specific question, feel free to come back and ask it.