From the way your question is formulated, I think that you may have some misunderstandings related to version control terminology.
You must have one repository for each project. You can view the repository simply as a folder in the file system. When you initialize the Mercurial repository in a specific folder, each file in this folder and any of its subfolders can be added to the repository for version control. You do not have to add everything, but any of them will be added if you want.
You can drag this local repository to a remote repository if you want, either as a backup form, or as a way to share code with others. But if this is just a personal project, it most likely will not be needed, especially since you already have a backup solution.
Branches are commonly used to distinguish between different "versions" of a project. As some people have noted, this can be useful as a solo developer to test the code refactoring method or test a different approach to a specific problem. If this does not work, you do not need to worry about figuring out where to lean back, just light a branch. If this worked, you merge the branch back into the main repository ("trunk") and continue.
If you get to the point of making “releases” of code, and you need to continue to maintain older versions, you will also want to use branches. For example, imagine you are releasing version 1.0, and some people are starting to use it. Although they use it, you are privately continuing to work on the next release, possibly 1.1, adding features to your trunk repository. Now, someone finds an error in the released 1.0 code that you need to fix, but you cannot just fix it in the trunk and give them that code because it cannot be released. This is where you need the 1.0 branch. You can fix the error in the 1.0 branch and merge the patch correction in the trunk so that the error is also fixed there. You can then repackage 1.0 using the fix and get it for your users, without thinking about how to get the trunk in a state that can be released to the public.
Other than that, there is usually not much fancy work involved in using the Mercurial solo. Do some work, and when you finish the function, instruct her to give yourself a “breakpoint” at which you can return in the future if necessary. You do not need to do it every time you save or something like that, just do it when you feel that you have added something somewhat meaningful. This will give you a pleasant project history if you ever need to look back.
For more information, I highly recommend spending some time reading this book: Distributed Version Control with Mercurial . You do not need to read extended topics, but reading at least chapters 1-5 and 8 will give you a good introduction to Mercurial and version control in general.