Note that “available” has different meanings depending on whether your perspective is configured to preserve hierarchy or not.
In a perspective that preserves hierarchy (either using the “Preserve hierarchy” switch in a Flexible perspective, or by organizing “Entire Projects” in an Organized perspective), a project is considered available if anything inside the project is available.
In a perspective that doesn’t preserve hierarchy, projects are flattened out so that everything contained within the project is listed first, with completing the project itself listed as a separate action at the end. That action of completing the project is considered unavailable until you resolve (completing or dropping) all of the earlier items within the project.
So if you’re looking for available projects, it’s helpful to understand that the question you’re asking (and answer you’ll get) is different when using a perspective that preserves hierarchy. (Note that you don’t actually have to show any of the contained tasks: you can add a rule for “Is a project” so all you’re seeing is the project itself. Turning on and off the “Preserves hierarchy” switch will either list all the projects that have some available work, or will list the smaller set of projects that are have nothing left to do other than check off the project itself.)