Magic is not a game about reflexes. All timing is decided by priority, which one player has at all times and is passed around the table in turn order many many times in a single turn.
In order to cast your spell:
- You gain priority.
- You place your spell on the stack, make decisions, pay costs, etc.
- You may optionally hold priority and do something else, such as cast another spell or activate an ability (you must somehow declare that you are holding priority if you do this). Repeat steps 2-3 as desired.
- You pass priority to the next player in the turn order. They may cast a spell or activate an ability. If they do, they pass priority back to you afterwards. If they don't, they pass priority to the next player in the turn order.
- Once each player has passed priority without doing anything, the object on the top of the stack (spell or ability) resolves. If there isn't an object present on the stack, instead the turn moves to the next step or phase of the turn.
The process is slightly different if it's not your turn at step 1, but not much. Most of this whole priority-passing is glossed over in most of the turns of most games (particularly since the vast majority of the time, everybody is passing priority without doing anything; you can't move from your Upkeep to your Draw step without a round of priority passing, for example, nor from your End step to your Cleanup step).
As to the question of "how long" you need to wait to consider priority passed back to you, well... that's a matter of communication. If you have any reason to believe your opponent might respond to your spell, it's polite to explicitly ask whether they have a response before continuing with your turn. If you don't give your opponent an opportunity to respond, they're well within their rights to back you up to the point where they should have been given priority when you blaze forward.
In a casual game between friends, it's up to the group to decide whether you've already given sufficient opportunity, or whether you should roll back anyway and allow the counter. It's just a game, and it's unlikely anything is riding on the outcome. In a tournament setting, the answer to miscommunication is always -- always -- to call a judge. Mediating this kind of situation is exactly the sort of reason tournaments have judges in the first place.
When you call a judge, explain the situation. Give facts, and try to be as accurate and complete as you can. Your opponent(s) should do the same if there's a dispute. The judge will make a call, possibly fixing the board state (this depends on the tournament level and the exact error that occurred, and is defined in the JAR and IPG documents judges use) and/or handing out warnings/etc. at higher levels of play (again, depending on the exact error that occurred).
If you disagree with the judge's ruling for some reason, you may appeal to the tournament's head judge. If the tournament has no WotC registered judges, the tournament organizer is the head judge. The head judge's ruling is final, even if it directly contradicts the game rules (we hope it doesn't, though!)