My dad is a builder and I (briefly) worked in building. Have also been a customer. There are many experienced, honest, punctual builders and tradespeople out there - they will always be busy and will not give you the cheapest quote. I rather wait for them to be available and pay more than go with an unknown or for lowest price. I am careful taking recommendations as everyone has different standards, so what one friend thinks is good work could look shoddy to someone else. Best to see finished product if possible.
Some builders will accept every job going and overpromise because they want to make $$$, others overbook to guard against inevitable cancellations, others just have poor management skills. A lot of stuff written in the back of a notebook.
Sometimes they get delayed on a project through no fault of their own and are working full tilt to catch up. They may be overwhelmed and cannot face having a conversation where someone will get abusive. Customers can be tough going - myself included! I doubt you put them off by asking too many questions, you are right to get details.
Often people will forgive a few weeks as they expect delays, so some builders would rather be late and then announce "right we are ready to go now" in the hope that the customer will just accept it and be relieved to get the work done.
They are human beings so some of them will just be unreliable/lazy, some will have genuine emergencies (often a one-man-show so if they get an injury they are screwed), and others simply don't care. You get it in every walk of life.
I agree in advance how payment will work, can be in stages for big/long projects. I would not pay up if the work is not done to satisfaction. It's good to go with a local builder who has a good reputation if possible as they will not want to get a bad name. If they are not responding to calls/texts/emails, I would move on, not worth the hassle.