Das ist ein logisches Verhalten. Du suchst eine sogenannte Alternation (Alternative). Eine Zeichenkette kann nur 1x durchsucht werden. Es wird also als erstes nach Marke gesucht. Wenn das gefunden ist, ist der Ausdruck erfüllt. Wenn nun "Marke Plus" oder Marke-Plus" dran ist, wird beim Leerzeichen oder beim "-" wieder geprüft, ob da "Marke" gefunden wird. Es wird also niemals nach dem Rest gesucht.
Mögliche Lösungen: Die Alternation umdrehen Marke-Plus|Marke Plus|Marke
Das klappt aber nicht immer. Daher besser Marke([\x20-]?Plus)?
Bedeutet: auf jeden Fall Marke, gefolgt von entweder einem optionalen Leerzeichen oder einem Bindestrich, gefolgt von Plus. Das letzte Fragezeichen setzt dann den kompletten Ausdruck optional. Da das "?" ein gieriges Wiederholungszeichen ist, wird erstmal angenommen, dass der Ausdruck da ist.