I think Colchester is mostly a great place to live. There is a big shopping centre in the centre of town, and all the usual supermarkets and home/garden shops on the fringes. It has a bit of a reputation as a squaddie town and that is true to a certain extent, so we avoid the town centre late on Saturday night (probably like many other towns) but at any other time it it fine.
There is a huge amount of building work going on in the north of Colchester (Highwoods and Mile End) with hundreds of homes being thrown up on small plots of land - a bit of a pity, but I suppose people have to live somewhere.
When looking for a property, some areas are better than others and will be quieter and give you a better quality of life. We live in Lexden which is leafy and pleasant and have always felt very safe. Generally the west side is a good choice. Personally I would avoid the eastern suburbs like Greenstead (but houses are a bit cheaper there) and the New Town area has its problems too.
There are loads of lovely restaurants (all types) and pubs in Colchester and the surrounding villages.
I have several friends whose parents have come to retire here from London and they love it. It is less than an hour from London on the train and twenty minutes from the beaches of Mersea and Frinton etc.
Hope this helps - I have tried to give a balanced picture, but if you have any more questions, fire away! PS The magic roundabout is mad!!