(And why does it not always work with other language groups?)
Blinded by my current hyperfixation on Spanish, I let out of sight one of the most interesting linguistic topics, which I can relate to as a native speaker of a Slavic language. I haven't met this phenomenon in other language groups, or at least, it seems not as noticeable. Among about 20 Slavic languages, most of the speakers can understand each other without much trouble. In contrast, the same does not work with English and German or Norwegian and Dutch. Evidently, the languages develop in different ways, and in the case of Slavic languages, they split from the common ancestor (Proto-Slavic) relatively recently, in the 6th century, earlier than Roman or Germanic languages.
No less important for the language similarity is the same mechanisms of transfer and borrowing from other European languages. As Bulgarian and Russian share the same Old Slavonic terms, or all Slavic languages borrowed some technical terms from Western Europe, the similar development path further narrowed down the differences between them.
Another important factor is the geography of Eastern Europe. There are no significant geographic barriers (such as seas or oceans) except a few relatively young mountain ranges. This enables easier mutual intelligibility of Slavic languages. A very good example of it is the relationship between Polish, Czech, and Slovak. Poland and the Czech Republic are separated by mountains, and, consequently, their languages are slightly less mutually intelligible. At the same time, Czech and Slovak share a closer border and thus sound almost identical.