The theory behind it, is that by voting "blank or invalid", you are saying that you wish to vote and it really makes a difference for you in who is in power, but none of the people you want for the office were allowed to run. This means that you are pro-democracy, but against the current practices of the government in not allowing everybody to run.
The way it makes a difference in practice, is that the number of blank and invalid votes is counted in the final count, and it makes sure that no candidate gets enough votes to win the election in the first round, winning the 50% requirement in the presidential election or the 25% requirement in the parliamentary one. The government won't be able to claim that people who vote are supporting the current regime, since they have clearly mentioned that they don't like any of the options.
I seriously believe that bycotting elections has only one political meaning, that one doesn't believe in democracy, or prefers other things to democracy. And I have a good proof for it: most of the proponents of bycotting the elections are for an alternate totalitarian regime, either those like the Soviet Union, or those with someone like Reza Pahlavi II on the throne.
I am personally voting for Moeen, of course.