From MozillaZine Knowledge Base
This article deals with an issue in which changes to bookmarks are not saved after closing Firefox or Mozilla Suite/SeaMonkey.
- If bookmarks that were saved previously are now missing, see Lost bookmarks.
- In Firefox 3, If you export bookmarks to an HTML file but the file is not saved, see Unable to export bookmarks to HTML file - Firefox
- In Firefox 3, If you are having other problems such as toolbar buttons not working, home page not loading, missing bookmarks and history, inability to edit or delete certain bookmarks or if adding a new bookmark has no effect, see Locked or damaged places.sqlite
If you can add, delete, or make other changes to bookmarks but those changes are not saved when you restart your Mozilla browser, try the solutions below.
Places preferences - Firefox 3
If changes to bookmarks are not being saved after restarting Firefox 3, reset the browser.places preferences.    
- Enter about:config in the Location Bar
- In the Filter box, type browser.places
- Context-click (right-click) any preference with a user-set status (e.g., browser.places.importBookmarksHTML)
- Click "Reset".
Corrupt bookmarks file
In Mozilla Suite/SeaMonkey and Firefox 2, bookmarks are stored in the bookmarks.html file. If this file is damaged, you may not be able to update your bookmarks. To replace a possibly corrupt bookmarks.html file with a backup, see Lost bookmarks - Replacing bookmarks with a backup file. (To create a current bookmarks backup file, simply export your bookmarks.)
- These instructions may also resolve other issues with bookmarks in Firefox 3
Starting in Firefox 3, bookmarks and browsing history are stored in the places.sqlite file, in the Firefox profile folder. If this file is damaged, various problems with bookmarks or other Firefox functions can occur (see Locked or damaged places.sqlite for details). You can rebuild the Places database as follows, to see if it resolves the issue (however, this will remove your browsing history):  
- (Optional) Export your bookmarks to a file named "bookmarks.html" (or use a previously saved bookmarks.html file) and place it in the Firefox profile folder. If a "bookmarks.html" file already exists, allow the exported (or previously saved) file to replace it.
- To export your Firefox 3 bookmarks, go to "Bookmarks -> Organize Bookmarks -> Import and Backup -> Export HTML".
- Close Firefox completely (or restart the computer).
- Open the Firefox profile folder and delete (or rename) the "places.sqlite" file and, if it exists, "places.sqlite-journal".
- (Optional) To force Firefox to automatically restore your bookmarks from the profile folder "bookmarks.html" file, instead of from a JSON backup, open the bookmarkbackups folder and remove all bookmarks-(date).json files to another location. (This may be necessary, in some cases, if there is also a problem with the JSON bookmark backup files.)
- It is probably also a good idea to delete the localstore.rdf file, to remove the references to the old Places file (you will need to add back any toolbar customizations).
- Restart Firefox.
Firefox will create a new "places.sqlite" file and automatically import the most recent JSON bookmark backup file. If no JSON backup is found, Firefox will automatically import your bookmarks from the profile folder "bookmarks.html" file, if it exists.
Note: You may also need to use about:config to reset all of the browser.places preferences to the default settings (see above).
Read-only bookmarks file
Mozilla Suite/SeaMonkey and Firefox 2: If changes to your bookmarks are not saved when you restart the browser, the bookmarks.html or bookmarks.html.moztmp file in the profile folder may be "read-only" (Windows) or "locked" (Mac). Deleting or modifying bookmarks will also have no effect and the profile folder will fill up with multiple "bookmarks-<n>.html files, where <n> is a number. See Multiple profile files created for additional information.
Removing the "read-only" attribute or unlocking the file will again allow the bookmarks to be updated (bug 157152). To do so on Windows systems:
- Navigate to the profile folder
- Find bookmarks.html and (if it exists) bookmarks.html.moztmp
- Right-click on the file, choose Properties
- On the General tab, make sure "Read only" is not checked.
- Press OK.
Starting in Firefox 3, both bookmarks and browsing history data are stored in the Firefox profile folder in the places.sqlite file. Check the attributes of "places.sqlite" (and, if it exists, "places.sqlite-journal") to make sure that the file is not read-only or locked.
Try the standard diagnostic steps. Problematic extensions may be causing the issue. Try running Firefox in Safe Mode and disable all extensions, or create a new profile for testing purposes. 
Related bug reports