score:22
jcaron is correct with his comment. The train you are missing leaves Hamburg earlier and arrives later in Cologne than another train, so with the default search options, the travel planner does not show it in the search results.
Such 'overlapping' train connections are quite common in Germany, not just because trains stop at a different number of stations, but because trains are often not going the shortest route from their origin to the final destination. The ICE515 you mention is for example departing from Hamburg 5:48, takes a long detour through the westernmost parts of Germany before heading east again and finally arrives in Munich 14:27. It does not make sense to use that train if you are actually going from Hamburg to Munich, as you could also take the ICE1003 departing Hamburg 5:52, which travels a much more direct route and arrives in Munich 12:01.
When you open DB's travel planner, the 'show fastest connections' option is pre-selected. If you uncheck this option, you will at least see more, but perhaps still not all of the trains, which are going the route you are searching for:
Another possibility, if you know that you want to travel via Bremen (but not necessarily stay there), you can also under 'further options' add a stopover in Bremen with a duration of 0:00. This will only find trains though, which are travelling via Bremen.