We could use tags for this, but with an issue type hierarchy you can strongly-type your database i.e. make sure that people don't put a Signal under a high-level business requirement.
And different issue types in JIRA allows us to have different workflows and optional fields for different types of issues, ie in the use-case above the Requirement field has an extra field to mention a corresponding document and most of the issue types except business requirement have an extra field to fill in the source file where we will implement it.
And different issue types in JIRA allows us to have different workflows and optional fields for different types of issues, ie in the use-case above the Requirement field has an extra field to mention a corresponding document and most of the issue types except business requirement have an extra field to fill in the source file where we will implement it.