Basically no, you don't have to use self-switches or multiple event pages with conditions.
But as Lunarea said, they are there for specific reasons and to make things easier for you - and not using them can get you into trouble or limit your options.
Consider this scenario: you have several treasure chests in your game. Each treasure should only be taken once of course.
Now, if you use a general switch to remember whether a chest had been opened or not, then you need one general switch per chest - that can be a lot of switches depending on the number of treasure chests in your game.
However, if you use self-switches, then each chest automatically has its own switch - because that is the special ability of self-switches, they are event-based and neither need a definition outside the event, nor can they affect other items.
And to top this, there is a limit to the number of general switches per game - the number of self-switches is effectively unlimited because they are stored in the events, not in the database.
An additional problem when using general switches for chests is that if you need another chest and decide to copy one of the existing chests, then with general switches you need to edit the new chest to give it a new general switch - with self-switches, that is automatic and you never need to edit the new chests after copying them.
And there are other examples, for example multiple event pages can not only have different sprites (without the use of change graphic commands), but they can also have different autonomous movement settings (which is simply impossible to make without multiple pages)...
So yes, you can make games without them - but it would be a lot easier for yourself if you take the time to learn how to use them.