I think Ancestry's ethnicity estimates are based on the trees that belong to your DNA matches, plus other trees that appear to have shared ancestors.
If those trees are correct, then Ancestry's estimates might be in the right ballpark, but Ancestry's estimates keep changing, depending on changes that are made to trees or new trees that are added.
But what is the quality of these trees, and are they all copy-paste versions of previously existing trees? What if we're seeing, in those trees, the proliferation of inaccurate information?
Ancestry's estimates are also dependent on whether or not the trees go back far enough. For example, if 150 people's trees (149 of which are probably copy/pasted to a large extent) show their Irish ancestors only after they'd moved to Scotland or England, Ancestry will assume they were Scottish or English. (Because, at present, Ancestry's DNA test can't actually differentiate between Irish, Scottish or English heritage.)
My full brother and I did our DNA testing through Ancestry. Here's what Ancestry thinks of our ethnicity.
Scotland: Me: 44%; my brother: 67%
England & Northwestern Europe: Me: 23%; my brother: 7%
Ireland: Me: 17%; my brother: 13%
France: Me: 10%; my brother: 4%
Ashkenazi Jewish: Me: 2%; my brother: 3%
Norway: Me: 1%; my brother: 1%
The next two ethnic groupings are completely different for me and my brother.
Me: Germanic Europe 2% & Iceland 1%
My brother: Portugal 3% & Spain 2%
The only origins that I haven't yet proven on paper are Norway, Germanic Europe (whatever that means right now), Iceland and Portugal.
I think, ultimately, if we use a combination of DNA results and traditional documentation, we'll get as close to the truth as we can, but the percentages just show us what a computer has spit out based on algorithms that have been fed into a program that analyzes data provided by humans who have, for the most part, copied and pasted other peoples' data into their own trees. At least, that's how I see it.