If software verification focuses on the quality of the completed products, should it also check that we have actually built the right product?
Should it also help in monitoring tool wastage and obsolescence?
I would answer i and iii for these reasons:
i) verification is the act of saying 'does this actually do what we built?'. The intention of software development is to build software that works the way you intended.
iii) verification during unit testing or continuous testing helps the developer correct mistakes they have made as part of a continuous loop, or ensure that they have made the correct choices otherwise. Verification is the core part of Test Driven Development practice.
Validation is different, and is more similar to asking the question 'is what we built fit for the purpose of its use', or 'did we build the right thing' rather than verification which could be thought of as 'did we build it right'. Answer ii is an example of validation.