Overview
Flex uses the terms Global, Definition, and Instance for very specific things within the software. These terms represent a sort of hierarchy of the way data is structured, but also the scope of the data considered.
Global
Global reports are "at the top," so to speak. They're not limited by Definition or Instance, so the results are completely specified within the report code. Many Global Reports use an SQL query to obtain their data. While it's true that that query could be limited by Definition or Instance, that's typically not the case with Embedded Reports. The one exception to this could be the Serialized Container Manifest as it is specific to a single Unit at a time.
Definition Level
Definition Level reports are typically targeted at a single Project Element Definition (the list seen at Projects-->Project Elements). While typically designed for a specific Element or type of Element (i.e., Financial Document or Equipment List), they can be enabled for any other Element of that type. For example, Quotes Summary can be enabled against Invoices because they're both Financial Documents. However, keep in mind that context is often important for these reports. A "revenue" report is only a revenue report if you run it against Invoices; when you run it against Quotes, it's a "budgeted revenue" report because Quotes are a budgetary document.
Instance Level
An "instance" is a specific Element of a certain Project Element Definition. In other words, Quote 18-1000 is an "instance" of the Quote Element Definition, and when open in the UI, you have access to any Instance Level report that is enabled for that Element Definition. As with Definition Level reports, Instance Level reports can be enabled for any Element Definition of the same type. For example, you could enable Internal Manifest for Pull Sheets because Internal Manifest is an Equipment List report. As with Definition Level reports, keep in mind that context matters. Many reports intended for use with Manifests include Barcode and Serial Number columns. When you generate them from a Manifest, you get the actual Unit Barcodes, and Serial Numbers scanned to the job. If you try to run the same report from a Pull Sheet, you are likely to get Model Barcodes and no Serial Numbers.