Pivot tables are tables designed for exploring dimensional data. Choose a fact of interest to investigate. Slice up your dataset, assigning dimensions to the rows and columns of the table, and the table updates to show appropriate fact values for those rows and columns. Filter the data further, limiting dimensions to specific ranges or values, and the displayed totals change appropriately. Drill-down through dimensional hierarchies, first showing the sum total of the measure for that hierarchy, then sub totals for each sub category, and so on down to specific values for each individual entry.
Reports display pre-determined subsets of data in a structured manner. If there is a specific layout of pivot table that gets used a lot, it's begging to be made into a report.
Reports are commonly found based on operational databases but they’re all the more valuable when they have a whole host of historic data to harvest as well. BI reports are also often easier to design since the report doesn’t have to navigate nested data-structures that equivalent normalised operational databases require.
Graphs provide an at-a-glance overview of the state of affairs. A well designed chart communicates the meaning of some data much more readily than a table of numbers ever can. Graphs can be embedded within a report, or run live to display real time data.
It is easy to try and say too much with a graph though, particularly when presented with the wealth of information a data warehouse provides. At best, this obscures meaning; at worst it causes misinterpretation of the data. Making graphs is easy. Making good graphs is hard.