The problem with playing "Horde" mode these days (in public matches) is that players don't actually have the time and/or patience to play. Despite signing up for a mode that can take hours, they tend to bail the very first time they die. Because there's no "hot joining", this means that the number of players playing goes from 5 down to 1 or 2 very rapidly. That is, of course, assuming it wasn't the host that quit, in which case the game ends instantly.
By the way, one thing that's way worse now than ever before is that the host can now pause the game. Prior to some of the more recent patches, the game could not be paused, and really, this is how public matches always ought to be. Now, the host can pause the game, even if he or she doesn't mean to, and this pauses it for everyone. For example, if the host dies and wants to go check something in the guide while waiting for the round to end, this causes an auto-pause and other players then quit in response.