You can slow down the source system by querying it so it will be slow for people using the system.
It's probably designed in 3rd normal form so to get the data you may have to join to dozens of tables.
You may get inconsistent results because 1 person thinks it should be queried one way but then another person does it another way. Now you're in a meeting and someone says we sold 50k worth of product and someone else says no we sold 75k (fact tables don't prevent this all the way but helps facilitate getting a defined way of identifying whatever you're looking at)
The dimensions are reusable by other fact tables and facilitate keeping labels consistent.
It's easier to bring data from multiple systems together outside of the source system. Maybe you're bringing in hr data, sales data, and accounting data. Chances are those are stored in 3 different systems so you can't access them all from the sales system