Trac ( <a href="http://trac.edgewall.org/" rel="nofollow">http://trac.edgewall.org/</a> ) is awesome. It also has very good integration with subversion, if you want that (but you can ignore that aspect if you just want a bug-tracker).
Trac is very nice, as other have stated. It's kinda like SourceForge done right, in the sense that it has source browsing, a wiki for web pages, and a bug tracker with good notification capabilities. Last time I used it it was absolutely retarded about user accounts and saving settings (you had to carry around an MD5 "key", rather than being able to log in).<p>We're using FlySpray, because it drops into our CMS (Joomla) with relative ease, and we wanted customers to be able to file bugs. We also use it for support. It works pretty well, has all of the features we needed, and is a really nice clean and simple codebase, so customizations are relatively easy. It's also a low-dependency PHP project, so it'll drop onto any ol' hosting account with a database, and runs plenty fast.
When I have a choice (not very often when working with a company) I use FogBugz. It's a bit pricey compared to FREE, but now that they have a hosted version, it's great if you need to track bugs with a team.<p>The simplicity and approach of FogBugz is fantastic. Really worth a look if you have the cash to afford it. That being said - they do have provide it for free if you only need 2 accounts. See: <a href="http://discuss.joelonsoftware.com/default.asp?biz.5.482288" rel="nofollow">http://discuss.joelonsoftware.com/default.asp?biz.5.482288</a>
I use a heavily modified version of Case Tracker, a group of addon modules for the Drupal CMS. It's similar to other helpdesks (it's actually a fork of the project and project release modules that are used at drupal.org) and it's being extended by a student during this year's Google Summer of Code. <p>Since Case Tracker runs in Drupal it's just one feature of an entire suite. I have all the features I need, from web-to-email, email-to-web (posting by email or phone), XML-RPC, a full range of access controls, wiki functionality, RSS feeds, etc.
TRAC's my current favorite.<p>Too all the people using comments in the code and the like, that's very good when you're a 1-2 person team, but when you (hopefully) have more coders, possibly QA people and (god forbid) customers who complain about stuff that doesn't work well, you'd better switch to something that's more manageable.
I use //TODO: in my Visual Studio stuff. VS will find them for you automatically, I don't even have to grep for them. <p>I also try to write code so small and simple that it approaches the complexity of "Hello World." That way, it's easy to find the bugs.
I like keeping things simple while we're still small, so right now we just use 37signals' basecamp's (<a href="http://www.basecamphq.com/" rel="nofollow">http://www.basecamphq.com/</a>) to do list. this will probably change in the future
If I'm just working alone:
ToDoList by AbstractSpoon Software
<a href="http://www.abstractspoon.com/" rel="nofollow">http://www.abstractspoon.com/</a><p>For small projects it's enough to manage all my tasks, including bugs.
Personal projects: a 'TODO' text file, 1 line per issue, open in the editor (emacs or Eclipse) for the project. <p>Group/open-source projects: JIRA, which was a nice step up from Sourceforge's built-in tracking.