We use Jira a lot at Goodwin College. We have three instances, two are helpdesks for different departments (one big project each) and one is for development. They don't technically have to be separate instances, but that's what the requirements called for. In the development instance each development initiative gets its own project in JIRA, and there is one big development project that has multiple jira projects to track the different parts. I don't recommend making separate jira projects for parts of a larger development effort if you want them all to have the same releases. We have managed to make it work by creating releases with the exact same name (and creating saved searches to view them), but it is more difficult than it has to be. If I had to do this one big project over in Jira I would put them all in one jira project and use the "component" field to keep the development areas apart.
Also, you can't use the agile add-on greenhopper to plan/track multiple across multiple projects; that's all the more reason to keep things that get planned and released together in one jira project.
I agree with the others that your question is a tad vague, but I'll offer what we do here at MEI. Each software development is stored as a Project in JIRA; we use the Project Category field to differentiate between Product Development, Custom Development, and internal projects. We also have special projects with custom issue types to generate lists of projects for reporting purposes.
Since we use the agile methodology for development, but Greenhopper doesn't really work for us, we built custom dashboards that essentially provide the same capability as the scrum board. We also use the version field to store our sprint numbers and created a User Story issue type that includes a field for "Sum of Estimated Time Remaining" which approximates the burn down chart when used with a custom issue filter.
I was asked by Ed Wong and the folks at Attlasian to demonstrate our configuration to them last year, and we had a very positive discussion about how JIRA can be used to provide actionable reporting in a software development environment. Let me know if you have any more specific questions.
I have worked with Jira for many years and on my last project used the GreenHopper plugin to add Agile planning and tracking. Jira has a lot of knobs and levers to tweak to get things the way you want, but once you figure out the relationship of the controls you can establish any specific process tweaks you desire.
I was quite successful with Jira and GreenHopper and am now trying to get my new employer to pony up the license cost to add the GreenHopper Plugin to their Jira installation.