It does vary largely from company to company. In the past I've worked with a Functional Specification document only which was written after the BRD was and detailed not only what the system was to do but diagramatically showed the reader how this would be achieved within the system using sample screen dumps which showed any updated screen contents etc. The document itself was very basic in that it detailed system Inputs (entered by user or read in from file), Processes (calculations, business logic etc) and Outputs (file or report, updated customer record etc).
Where I am just now we have numerous documents: BRD (not system specific but user/business specific - what the Business need or want to do), System Requirements (take the Business requirements and detail what specific systems have to do in order to meet the requirement), Functional SPecification (what the system has to do , the business logic surrounding it) and finally a Design Layout Specification (details how the system does it). This is pretty much document overkill.
Hope this helps :o)