Boris wants an election now because the Tories are currently benefitting from a 'new leader' boost. The reason why the Opposition want to get their bill through and delay things is because they know this.
The latest opinion poll from Yougov (compared to vote in 2017):
CON 33% (-11)
LAB 22% (-18)
LDEM 21% ( +14)
BREX 12% (+12)
GRN 7% (+5)
Other (mostly SNP) 5% (+2)
The pundits' best guess (ie, see www.electoralcalculus.co.uk/homepage.html is that the Tories might have a narrow majority. But it's very hard to predict. They will probably lose all their Scottish seats to the SNP. However, in the Midland and the North they will win seats from Labour due to the latter's declining support, and this will offset the Scottish losses. Also, the Brexit Party will probably bleed support to the Tories during the campaign. 45% is enough for a huge majority in Parliament.
BUT - if the Opposition can delay things, Tory support might slump. In June it was in the low 20s and in some polls as low as 17%. That was because everyone was fed up with Theresa May's deal, but they know the Tories could end up as low as that again.
Legislate to prevent a no-deal, keep Boris in office stewing in his own juices, and then have an election would be best for the Opposition.
The nightmare scenario for the Tories is that the Brexit Party eat into their vote and:
- the SNP take all their seats in Scotland (this will happen anyway)
- The Lib Dems wipe them out in London and the South East and other Remain areas
- Labour mop up elsewhere.
It would mean a hung parliament, but one with a strong Remain flavour.
To give an example of what can happen in situations like this in the Westminster system is Canada in 1993. This is what happened to the Conservatives there:
1988: 43% of vote, 169 seats (a majority - they formed the government)
1993: 16% of vote, 2 seats (the end of them as a viable party).