1. Pick a report type. From the Reports tab, click New Report and choose the object you're reporting on, Opportunities, Leads, Accounts, Cases, or a custom report type your admin built. The report type decides which fields and related objects you can pull in later, so get this right first.
2. Choose a format. Tabular is a flat list, good for exports. Summary lets you group rows (by stage, by owner, by month) and add subtotals. Matrix groups by both rows and columns at once, useful for a grid like rep-by-quarter. Joined reports go further: they let you combine several report blocks, even from different report types, on one page as long as they share a common field, so you can see Opportunities and Cases for the same account side by side.
3. Add filters and fields. Narrow the date range, owner, stage, or any field relevant to the question you're answering. Drag in the columns you actually need and remove the rest, a report with 40 columns is not more useful than one with 8 of the right ones.
4. Group and add formulas if needed. Group rows by a field to get subtotals, add a bucket field to roll several picklist values into one category, or add a row-level formula for a calculation standard fields don't give you.
5. Save, run, and build a dashboard from it. Once the report looks right, save it to a folder you can share. To turn it into a dashboard, go to the Dashboards tab, create a new dashboard, and add components, each one pointing at a report as its source. Set the dashboard's running user carefully: a fixed running user shows everyone the same data regardless of who's viewing, while a dynamic dashboard shows each viewer only what their own permissions allow.