Schau mal im Codex unter Theme Development nach. Dort wird erklärt, wie man ein Theme entwickelt oder an die eigenen Wünsche anpasst und dass bestimmte Template-Namen für bestimmte Zwecke reserviert sind – etwa 404.php für die Fehlermeldung "404 – Page not found".
WordPress ist so programmiert, dass es "nachschaut" ob für einen bestimmten Zweck das passende Template vorhanden ist. Ist es vorhanden, wird das Template zur Ausgabe verwendet. Ist es nicht vorhanden, greift WordPress auf übergeordnete Templates zurück, bis es zuletzt bei der index.php landet. Das ganze nennt sich Template Hierarchy.
Was heißt das jetzt für Deinen Blog? WordPress schaut nach, ob es ein Template 404.php gibt und zeigt die Fehlermeldung "404 – Page not found" so an, wie es in dieser PHP-Datei angegeben ist. Das ist ganz praktisch, weil man so z.B. zusätzlich zu der reinen Fehlermeldung ein Suchformular anbieten und den Besucher mit einer etwas zuvorkommenderen Botschaft trösten könnte. Du kannst die PHP-Datei ja mal umbennenen und wirst feststellen, dass die Fehlermeldung dann anders aussieht. Natürlich kann, darf und soll man Templates auch an die eigenen Wünsche anpassen (was oft weniger an rechtlichen Gründen als an mangelnden PHP-Kenntnissen scheitert).
Und Deine HTML-Datei? Wird von WordPress einfach ignoriert, weil es keine PHP-Datei ist und außerdem nicht in die Template Hierarchy passt.