I have one profile I use normally, one I use only for a few things (with special settings, userContent.css, etc.), one I use when I need to be logged in to the same site with two logins at once, and one I use for testing that I constantly delete and re-make to clean it.
To use them, I have a main button in the panel that just calls path_to/firefox, and choose the profile I need, or if I need two at once I open a terminal and type path_to/firefox -no-remote. This fails in a small way in one particular circumstance: If the partial update has already downloaded, opening a second instance will install it, which can lead to minor breakages (XML error in download manager, e.g.) in the first. Other than that, though, it works perfectly for me.