There are a few things to consider when deciding whether to S/U a module or not — your targeted class of honours, your confidence of reaching it, all your other grades relative to the grade in question, the number of S/Us left, and the number of S/U-able modules left.
You should know the class you aim to achieve upon graduation, and a sensing of where you stand (at least you will know after 1 or 2 semesters from your grades). Most of the time, you will either be rather certain of attaining a certain class, or uncertain and hovering between 2 adjacent classes (e.g. 1st class and 2nd upper or 2nd upper and 2nd lower). The purpose of S/U is then to maximize your CAP and help attain the honours class you want.
Before analysing and deciding, you first need to know roughly where you stand. A good indication will be your CA before S/U-ing any modules, assuming you worked hard and will continue working equally hard for subsequent semesters. This will help form a realistic class to aim for, and help you decide which of the following 2 scenarios you fall into. For example, if you get 4 B, 3 B+, and 3 A- (CAP 3.95 before S/U), you more or less can tell you'll either get a Distinction or Merit. This is because most of the modules are bell curved — putting in the same effort and being bell curved against your same peers will likely get you similar grades in future years. Of course, unless you can and decide to work much harder.
1st scenario. Let's assume you're aiming a Distinction (< 4.50 and > 4.00). If you are confident of hitting that upon graduation (i.e. your grades are quite stable, or you are confident that it will be), simply S/U anything that is B+ and below as these will only pull your CAP down. Of course, ensure that you have sufficient S/Us to use it on grades lower than B+ first before S/U-ing those B+.
2nd scenario. Now let's again assume that you're aiming for a Distinction (< 4.50 and > 4.00) — you're not confident of hitting it, but certain that you will get at least a Merit (< 4.00 and > 3.50). Since you're unsure, your B+ could either pull your CAP up, or down, depending on what class you eventually fall into. Further, your B+ will not hurt your chances of attaining a Distinction (neither will it improve). In this case, you should keep your B+ and S/U only all those grades lower than B+ (B, B-, C+, etc.) as these will hurt your chances of getting a Distinction.
In both scenarios, you should have roughly enough S/Us to S/U the determined undesirable grades. However, you should still always count them. For example, if you have 1 S/U left and unsure whether to S/U a B+, count all your modules that can still be S/U-ed and evaluate your ability in scoring in each of the modules (you can get clues by asking around, checking if it is a qualitative, quantitative or coding mode, and if it is your strength). If it is likely that you will score all B+/A- and above, then just S/U the B+, but if there is significant uncertainty or if there is a module in the area that you know you are weak at and will likely score below B+, then save your S/U for it.
You should have sufficient S/U if your goal is realistic and attainable. Let's look at a counter example. Assume the same 2nd scenario that you are aiming for a Distinction, and hence will S/U anything below B+. If your 1st year grades are A-, B+, B, B, B, B, B-, B-, B- C+, and C+, you will want to S/U the lower 8 grades. If you're from JC, this will leave you with no S/Us left and if you're from Polytechnic, you will be short of 3. In this scenario, perhaps a Distinction Honours Class will not be a realistic goal if you've already been giving your best. Consider then aiming for a Merit Honours Class, and correspondingly S/U-ing the lower 5 grades of B- and C+.
Exception 1
If you feel totally uncertain about your future grades and hence your class, you will want to S/U your lowest 8 or 5 modules, depending on whether you're from JC or Polytechnic. In this case, you can extrapolate your results thus far to decide on how many you want to S/U. For example, assume you get 1 A-, 2 B+ and 2 B (CAP 3.9) in your 1st semester, and you're from JC. Extrapolating will get you 2 A-, 4 B+, and 4 B in your 1st year. You will likely S/U your Bs. Whether you want to S/U your B+ will again depend on how confident you are of doing better in future. If you've already worked very hard and continue to do so, chances are you will get around the same CAP in future.
It boils down to this: if you don't S/U the B+, and your graduating CAP is above 4, your final CAP will suffer a little at most, it will not affect your class from Distinction to Merit. However, if you choose to S/U, and you lack S/Us to use it on another module with a lower grade, this can actually affect your class from Distinction to Merit. In this case, it will be good to keep your B+ and save your S/U.
Exception 2
Some of you might have gotten bad grades due to playing your entire semester and barely put in any effort. In this case, try to evaluate how much your grades will potentially improve based on the effort you are intending to put in for your remaining semesters and S/U those, even all of them, below your projected ones.