Why is the complexity of BFS & DFS frequently written as O(V+E) vs. O(max(V,E))
While they are equivalent from a big-$O$ perspective, I think that the former is preferable as it directly connects with how the algorithms are implemented. To see this, let's consider fully connected graphs vs. graphs with multiple components, including vertices which are completely disconnected.

In order to cover the former, $O(E)$ is completely sufficient. $O(V)$ is not, as every edge must be traversed. For the latter case, one must also consider all the disconnected vertices, so one has an additional complexity of $O(V)$. Thus, together we have $O(V+E)$.

From an informative standpoint it's clearer that we need to process all edges and vertices. By taking $\max$ it would seem to imply that it's sufficient to look at just edges or vertices. This is often why when we have algorithms dealing with multiple parameters they're all explicitly spelled out - $O(m+n)$ vs $O(m + log n)$ for example, even if $m &gt; n$, because this matters; how does the algorithm behave if I change one of the parameters and leave the other untouched.