The main reason for having a vertical section is when there are columns in the table that are updated more often than the rest. You separate them in another table / section, and when you perform updates, you do not update the rest of the table. An example is a message counter. If it is in the same table as other user data, each counter update (and there are many) blocks the entire record, but you need to read it often. In the vertical split, the updated table will be user_counters, and user performance will not be affected by the number of updates.
source share