The real power in practice comes from the information interoperability between stakeholders, which it didn't really touch on, but enough to highlight it's biggest roadblock, contracts. For information into how to create a productive contractual environment you can look into Integrated Project Delivery arrangements.
"(I don't know a ton about this stuff, as I switched from an architecture degree to CS after a year once I realized tools like Grasshopper existed. I decided I'd rather learn to program and apply it to architecture then learn architecture and try to pick up some programming)"
Similar to you I started out in Architecture but spent around 3 years in that program (at three separate universities) before finding a rather unique degree that combines both (Architectural Computing). I did my final project on Parametric Structures that were also "intelligent" in Bentley Generative components.
(BTW my CS advisor flipped his top every time he heard someone say they were studying CS to learn programming. I left CS after hearing that lecture a few times. :))
There are structural solutions on top of GH like Karamba [0] and interesting physics engines like Kangaroo [1].
[0]: http://www.karamba3d.com/ [1]: http://www.grasshopper3d.com/group/kangaroo
Though the article didn't really go into it, there is a distinction between Building Information Modeling (BIM) software and parametric design software.
BIM programs combine the architectural model with the other elements of the construction - such as things like wiring, plumbing, etc - so that as one thing changes, everyone can be on the same page. They also have version control. The programs can also track construction timelines and costs.
Parametric design software is different - it lets you create more complex designs through algorithms. You can make small tweaks in the parameters of a design and see how it affects the final result, as everything is tied together. This is behind a lot of the crazy and organic-looking architecture you see today. To do that stuff by hand in a 3D modeling program could be quite painful. I know Grasshopper[1] is a well-known Rhino plugin for this.
(I don't know a ton about this stuff, as I switched from an architecture degree to CS after a year once I realized tools like Grasshopper existed. I decided I'd rather learn to program and apply it to architecture then learn architecture and try to pick up some programming)
[1] http://www.grasshopper3d.com/