I'm not biased but I do use FogBugz pretty much the way db outlined. I don't enjoy the Wiki authoring experience, but like any other tool you learn to use it and you get better.
I'll outline our general process at the bottom, but to specifically answer your questions:
We use the default Categories of Schedule Item, Inquiry, Bug and Feature. We have products in maintenance mode and other in development and although we have found the Workflow plug-in useful to change how some of the default assignments work we've found the categories provided are good enough.
I'm not clear on what you mean by specification and requirement. To me a specification is a requirements document - it specifies all the requirements a product must meet. Maybe what you are referring to as "specification case" is the Case Category: Feature; Maybe what you are thinking of as a specification we use the FogBugz Milestone for...see below for how we use them.
Yes, Wiki articles and Cases can be easily cross linked as described by db (Ctrl-K 10346 Enter puts a link to Case 10346 in the Wiki article and automatically puts a link to the Wiki page in Case 10346) I haven't found an efficient way to show a central requirements traceback matrix that instantly shows what requirements have been covered. Our Roadmap is the plan of what we want to do, but to see if we've done it, you have to look at the Wiki articles that describe the feature, or look at the product itself.
Here's what we do:
Our product spec is all the articles in a Wiki. Each article is either a high level description that links to detailed articles, or the detailed articles themselves. You can think of one of the high level articles as the introduction to a major section of a traditional specification document and the other articles as the list of detailed requirements. The requirements lists are in tables, one requirement per row, with a column for Case/Origin, which is where we put the link to the specific Case or the general Milestone that the requirement was implemented in.
We organize the Wiki spec with two particular Wiki pages: a table of contents and a roadmap. The table of contents is a hierarchical listing of Wiki pages - it looks just like the table of contents of a big 'ol spec document - by its structure it shows some of the architecture of the product and links to every detailed requirement page. The roadmap is a chronological list of features, in the order of when we want to implement them.
We grow the table of contents and the roadmap by creating empty wiki pages that will hold detailed requirements as soon as we get to them. Having the empty page is good because it's a placeholder for ideas that the final spec author must organize before that article comes up in the roadmap.
Each stage in our product development is grouped by a named Milestone in FogBugz. When we are planning that stage, we create a FogBugz case for each feature in the roadmap. We review each related Wiki article and link the requirement(s) back to the Case that owns it. Then, we assign the Case to a developer.