Why are some products not shown when I filter on categories ?
When you run the Product report and filter on product category, the module uses the MAIN / DEFAULT parent category in the product form (the one selected in the drop down menu above the category checkboxes). In the example below, if you were to filter on the category "PU flip covers" in your report, then it would return no results, even if there were sales and in spite of the fact that the "PU Flip Covers" category is checked. For the report to show sales, you would need to select "Phone", as this is the main / default parent category.
This is done for accuracy reasons: if we were to do the filtering based on the multiple checked categories, and let's says we selected multiple categories or did not filter at all on any category, then each product sale would be reported several times, once for each category checked, and the total sales amount would be grossly over-reported, something that would obviously not be acceptable.
So, in general (and this is true for SEO reasons as well), you should always make sure that, for the main default category, your products are assigned to the most precise / lowest level sub-category.