It is the goal of Panopoly to allow developers to have a wide latitude to configure and customize the distribution to meet their needs. While there is a lot of functionality provided out of the box, most of that functionality is easily overridden or extended and such customization is encouraged!
However, there are certain development patterns that Panopoly encourages (i.e. exposing site functionality through panel panes) and developers that "play nice" with Panopoly will reap the benefits of that cooperation. In general, most "feature" development should be done as Panopoly Apps with any additional contributed modules or "glue" modules that are required. Since Panopoly is mostly focused on site architecture, site theming should be relatively straightforward but themers should consult information on theming Panopoly. It is also important to review the Panels 3 Documentation since much of Panopoly is based on Panels.