Short Answer: There is no straight forward yes/no answer to this question. If you are running a typical Blog using WordPress, where your category and tag pages only contain excerpt from belonging posts, then the answer is no, you shouldn't allow search engines to index your category and tag pages. If you have unique content to those category and tag pages, then the answer is yes, you should index them for better SEO.
Noindex Category & Tag pages if they contain only post excerpt & no unique content
Here is why you shouldn't index tag/category pages with no unique content & only excerpts from posts:
Search engines rank your pages using internal and external linking to and from your pages: higher the incoming link, higher the rank + higher the rank of the incoming links higher the rank of your link.
Each search engine has it's own ranking algorithm, but the basic idea is the same. You may not have any control over the external linking, so I'm giving an example only using internal linking. say you have three blog entries:
http://YourSite.com/bing-search-engine/, http://YourSite.com/yahoo-search-engine/ and http://YourSite.com/google-search-engine/
and these blog entries are under the category named Site Review: http://YourSite.com/site-review/
Now notice that, the Site Review category page will have linking from all three blog posts, but each of these posts will be linked only once from the category page itself. So, search algorithms will give the category page higher priority!
So in essence, if users search something and find your site in the result, in most cases they will find your category page instead of the post that contains the original information. This is a typical case. Because in a typical installation, Category pages of your blog contain only excerpts (i.e. a short description) from the original posts.
So, for a typical WordPress Category SEO, where you have no other unique content for that category, it's safe to index your blog entries only & make category pages noindex
The same applies for WordPress Tags SEO as well. Because in a typical installation, Tag pages of your blog also contain only excerpts from the blog posts. So you almost always gain nothing by indexing your tag pages that only contain post excerpts.
So make the typical tag pages noindex as well (if the tag pages contain no unique content), for better blog tags SEO.
Same applies for blogs other than WordPress as well. However, if you run a different type of site (something other than blogging), then this decision will solely depend on the type of your site and the content they have.
Index Category & Tag pages if they contain unique content
Do your category or tag pages have additional content other than the post excerpts or do they have added value to your site in any other meaningful way?
If the answer is yes, then go ahead and index them. If the answer is no, then don't index your category and tag pages.
There is a very good WordPress plugin named Yoast SEO that can manage all these for you. So install this plugin and configure everything you need from the admin panel of the plugin.
Remember that search engines will still crawl your category and tag pages, regardless of your indexing in the XML sitemap or search bot setting (either in meta tag or in robot.txt file). The only affect of not indexing them (where appropriate) is: they (category and tag pages) will not have higher ranking over the individual blog entries and pages.
Also, note that while giving the above suggestion, I've assumed that in your WordPress installation (or any other blog), the category and tag pages have a higher degree of incoming internal links. This can differ from theme to theme, but in most cases they do have higher incoming links than individual posts.
To go a step further: you better have unique content in all of your category and tag pages and then index them to get ranking for terms that are specific to those category and tag pages only.
Let's revisit the example: lets say your posts on Google, Bing and Yahoo contains information on how good or bad these search engines are and specific tips on how people can get most benefit from the specific search engines. We've already assumed that they are under site review category, now let's also assume that the posts have two common tags named Advanced Search Tips & Tricks (http://YourSite.com/topics/advanced-search-tips-tricks) & Search Engine Comparison (http://YourSite.com/topics/search-engine-comparison). If you were following my post carefully, you already know what I'm doing here. Yes, you've guessed it right!
At the beginning, you'll only have post excerpts on those tags and category pages. So you'll give them noindex, so that if someone search for "Yahoo Search pros and cons" in google, your post http://YourSite.com/yahoo-search-engine/ will show up, not the category page http://YourSite.com/site-review/ or the tag page http://YourSite.com/topics/search-engine-comparison.
However, as you can see yourself, those category and tag pages are a great opportunity to rank on a different set of keywords! So write at least a 300 words article on the site review category page, for example, what is a site review, how did you reviewed the sites, whether or not you'll review a site on request from your visitors etc. etc. So your category page will now have unique text content on site review, and the belonging excerpts from your Google, Yahoo and Bing posts will only come after that content. Same applies for the tags. Write at least 300 words articles (Yoast SEO plugin will allow you to write articles on tag pages) on Advanced Search Tips & Tricks and Search Engine Comparison tag pages. At this point, go back and make these category and tag pages to index.
Now search algorithms will correctly rank your posts on specific related terms and at the same time, your category and tags pages will be ranked for keywords like "site review", "advanced search tips", "search engine comparison" etc. etc. but none of them will compete with each other, because they don't have duplicate content now. Isn't that Great!
To summarize: Index category and tag pages only when you have unique content in those pages, until then, keep them with noindex. If some of them have unique content and some of them don't, then give them index and noindex accordingly.
Happy blogging 🙂