The speed of broadband depends on several things. This link gives a lot of information that hopefully will answer most, if not all, your questions and to help more this is a suppliers' information on the subject.
As a brief answer to your questions, the speed you get will depend on the number of people using the line from your exchange - this should not be more than 20 generally as this number will slow your speed dramatically. Through the day fewer people are likely to be online and hence your speed will be higher, but in the evening people (and children) will be at home and possibly using their PCs. The closer you are to the exchange the better your speed is likely to be. Changing your supplier may have no effect on the service you get, but moving to the more expensive and faster fibre service may help if it is essential. However if BT give a written guarantee they can be held to it, but check the small print.
If you want more information from us it would be helpful if you could identify the package you have from TalkTalk, especially the speed which is generally given as "up to" a specific figure.