First, the most important thing to do is:
Make sure it's really a bug
We can only support the Blender binaries as have been distributed on
blender.org. First thing to test is therefore always if official
releases have the error. And if there's an error, test it with at
least one older official release to verify. This can reveal problems
with your graphics drivers for example, it's not likely that big
errors are there for many releases!
If the error is in current svn, try a build from someone else
(http://www.graphicall.org) or official test builds from (http://builder.blender.org) and when possible test it on another system.
The first thing users should do is try and recreate the 'bug'. If you can repeat it, create a small test file and submit it with a writeup of said bug.
The best and recommended place is the bug tracker. Browse through the already listed bugs in the tracker to see if someone else has already reported it. If not then you would want to create an account, sign in and click Submit New to file a new bug report. The submission form is very intuitive and lists some guidelines for submitting reports. A
.blend file must be attached. Try to make the file as simple as possible and clearly write the steps you took to discover the bug.
You can also quickly reach the bug tracker from inside Blender by going to the Help menu.
For very simple problems or things users are not sure about, before filing a report, users can always visit the
#blendercoders channel on freenode.net via the webchat to voice their concerns and or request clarification or tips from the developers.
Additionally, here are some more bug reporting tips from a developer.
It may sound annoying to follow all these steps, but remember that if
you don’t, the developers waste time figuring it all out themselves or
trying to coax the information out of the user for each bug. Some
developers like Sergey, Campbell (ideasman42), and Brecht (brecht) handle a huge number of
bug reports; you can really help them out by filling good ones.