While I am not a big fan of gathering all requirements in detail up front (as they are subject to so much change over the course of a non trivial project), if you are writing requirements documents, the Volere requirements specification template is an excellent guide.
While it may be overkill for some projects, it provides a great checklist of things to think about, even if it's just to mentally check off the list that you don't need that item for this requirement.
Here's a link to more information about the template:
http://www.volere.co.uk/template.htm
The template itself (and the book Mastering the Requirements Process - which is actually slightly less expensive than the template and contains the full template text) contains a lot of information, examples and advice within the various sections as to what should go in each section.
Here's a summary of the sections in it (quoted from the above link):
The Purpose of the Project
The Stakeholders
Mandated Constraints
Naming Conventions and Definitions
Relevant Facts and Assumptions
The Scope of the Work
Business Data Model and Data Dictionary
The Scope of the Product
Functional and Data Requirements
Look and Feel Requirements
Usability and Humanity Requirements
Performance Requirements
Operational and Environmental Requirements
Maintainability and Support Requirements
Security Requirements
Cultural and Political Requirements
Legal Requirements
Open Issues
Off-the-Shelf Solutions
New Problems
Tasks
Migration to the New Product
Risks
Costs
User Documentation and Training
Waiting Room
Ideas for Solutions