I had a situation where I wanted individual nodes within a view to appear different from one another. (e.g. add additional spacing at specific places in a grid view, color code the grid for easy scanning, etc) To accomplish this, I tagged each node with a series of taxonomy terms associated with various traits.
Recently I developed a site for viewing switch maps. Basically, each switch was it's own node, each module within the switch was it's own node, and each individual port within each module was it's own node - all linked using node reference fields.
About a month ago, I moved my 2nd custom Drupal module into production. Generally, I am very, very against writing custom modules. When you are supporting 30+ sites, 3+ multi-site installations, and those numbers continue to grow, it's a very bad idea to write large amounts of custom code that you will then have to support and upgrade forever.