One of my first choices is AgriGO, I like the presentation of results. The downsides are that it is a web-based tool that can go (and has gone) offline at any time for days or weeks.
Plus there is a lack of clarity about the implementation of the algorithms.
You have to choose what kind of analysis you want to do :
1- Over Representation Analysis: (ORA )It is a widely used method to know whether genes in biological pathways are over-represented (enriched) in your list. Your list may come from differential expression analysis. There are a lot of web-tools and also R package you choose for this kind of analysis. As far as I know DAVID, the last update was in 2016. I am still a fan of this tool, but at the same time, other tools like what has been mentioned above should work fine.
2- Gene Set Enrichment Analysis: (GSEA) , it was developed by Broad Institute. This is the preferred method when genes are coming from an expression experiment like microarray and RNA-seq. However, the original methodology was designed to work on microarray but later modification made it suitable for RNA-seq also. In this approach, you need to rank your genes based on a statistic (like what DESeq2 provide), and then perform enrichment analysis against different pathways (= gene set). You have download the gene set file. The point is that here the algorithm will use all genes you have in the ranked list for enrichment analysis [in contrast to ORA where only genes passed a specific threshold (like DE ones) would be used for enrichment analysis]. You can find more details about the methodology on the original PNAS paper, here is a summary of why one should use this approach instead of ORA:
1- After correcting for multiple hypotheses testing, no individual gene may meet the threshold for statistical significance.
2- On the other hand, one may be left with a long list of statistically significant genes without any unifying biological theme.
3- Cellular processes often affect sets of genes acting in concert, using ORA may lead to miss important effects on pathways.