Queries are used to find constituent records based on a certain set of query logic. Reports are used to find specific information about what your constituents did. For instance, if you need to generate a list of constituents who are in a specific group, are from a certain state, or a list of people who have opted out of email, you would use a query. If you wanted to generate a list of donations to a campaign, or registrations to an event, you would want to create a report.