Grammar rules exist to keep the language coherent across space and time. It exists to maximize the signal-to-noise ratio and minimize ambiguity.
As language evolves, and communication mediums evolve as well, grammar rules must be updated to reflect new realities.
For example, URLs and paths require special word-breaking rules that would not normally be considered correct. The existence of URLs and file paths, however, creates a problem, because traditional grammar rules create ambiguity for URLs and paths.
Another example is related to compound adjectives. “Open-source software” needs a hyphen, because is a compound adjective. On the other hand, “a dimly lit room” does not need a hyphen, because an adverb and an adjective do not create a compound adjective. However, “a dimly-lit room” would be more consistent, and provides more information for the reader to reduce apparent ambiguity.