It does indeed seem odd that over a century went by between John Cabot's 1497 voyages and the founding of the first permanent English colony at Jamestown in 1607. During this time, other European powers, namely the Spanish and Portuguese, colonized large swaths of the Americas. There are several reasons why England did not explore and colonize the New World during this period that are worth considering.
The first issue to take into account is the political unrest consuming England during the sixteenth century. The country was mired in a series of internal power struggles driven by religious turmoil. King Henry VIII had severed ties with the Catholic Church in 1533. This began a period of turmoil that dominated Henry's reign. In short, England's attention was not focused on the New World because it was trying to stabilize its internal problems. It would not be until these religious matters could be put to rest during the reign of Queen Elizabeth I that England could turn its attention to other matters, such as the exploration of America.
The other major obstacle to English exploration was its major rival, Spain. While England had a long history as a seafaring nation given its location on an island, Spain was the dominant power in Europe. Spain was bringing back vast treasures from its colonies in the New World aboard its fleet of galleons. Many English captains found it easier and more profitable to raid Spanish ships on their return to Europe than to find their own fortunes through the more difficult task of colonization. In fact, the English crown supported and encouraged this practice, known as privateering. As a privateer, an English captain and his sailors would turn over a portion of their loot to the state and divide the rest among themselves. This served the dual purpose of enriching the coffers of England and striking a blow at their Spanish rivals.
Furthermore, England could not directly compete with the Spanish fleets during the 1500s. The Spanish were simply too strong, numerous, and well-funded for the English to risk a major direct conflict in the New World, particularly not when the English were distracted with an uncertain political and social situation at home. However, when the Spanish Armada was destroyed in 1588, Spain lost its seafaring supremacy nearly all at once. This, coupled with the relative stability of Elizabeth's reign, opened up the opportunity for English colonization in America.