Direct does not always equal non-stop. A direct flight is one that has the same flight number for the entire journey, but doesn't necessarily mean there are no stops (or that you're even on the same plane for the entire journey).
Yes a non-stop is a direct flight, but the reverse is not always true. BA15, for example, is a direct flight but it stops in Singapore.