Generally, a good relational database design must capture all of the necessary attributes/associations and should do this with a minimal amount of stored information (it means there is no redundant data).
In database design, redundancy is generally a “bad thing” because it causes problems maintaining consistency after updates. However, it can sometimes lead to performance improvements e.g. may be able to avoid a join to collect bits of data together.
Consider the following table defining bank accounts/branches: