Which is better for consistency and speed.
It is better to use CDN for all static files like css/js/icons/images.
Reason: Main purpose of CDN is deliver content from closest point of presence instead of the origin server. If you use the mechanism of keeping the static files in your server and serving it to the client, then it'll affect your server performance. Example, Think about all your users accessing the bootstrap javascript files from your server! Boom! Your server has to do extra effort of delivering those files to the browser. It's an unnecessary work. Thats where CDN comes and helps.
Mark
I used to distrust CDNs, back in the day. What if it gets compromised or is down? What about privacy?
But these days there is subresource integrity, so no worries about being compromised (assuming it's not yet compromised at the time you're copying/calculating the hash).
And realistically, my servers are down a lot more often that most CDN's. This, and delivery speed, depend on the scale and quality of your service versus the CDNs.
For privacy concerns there is referrer policy, which might help some. Maybe nit enough...
CDN is good for caching, and it's very easy to set up, of course.
One reason to host your own files would be if you want to review the code and minify it yourself, to rule out any exploits in the minified version. That's a good idea, but few businesses have the time for that.