Take a look at this scenario: a parses collects all links on a website and store it in a table. Now, there is no way of knowing in advance how many links there are on a website page, so it is impossible to prepare a table with appropriate number of columns.
-------|-------|-------|-------|---------------
website| link1 | link2 | link3 | maybe100columns
What is the common way to tackle this problem, when you don't know how many columns you need? Do you encode all the links in json format and store json in 1 column instead?