Hmm, so are links just based on text used in the website? And by fall apart, you just mean don't get any business?
Falling apart means making only a small amount of sales or maybe none at all. Good Search Engine Optimization for your website means your website will be found listed high up on the search engines.
Let me give you an example pertaining to your case:
Let's say that a potential customer looking to buy a ceramic teapot, visits a search engine, like for an example Google, types in the key words "ceramic teapot" on Google's search text box. After pressing the search button, Google will return the search results just like these:
http://www.google.com/search?hl=en&source=hp&q=ceramic+teapot&aq=0s&oq=ceramic+tea+&aqi=g-s1g9Now, if you look at your website's HTML source code, at the top there should be a section called the "head" ( <head></head> ). In the head section are what are called the "Meta Tags". One of these meta tags will have listed the "Key Words". The key words are pretty much the words or phrases that describe what your website is all about.
So in your website's case, the meta tag key words will be words like teapot, ceramics, pottery, Texas....and the list goes on, I'm sure you get the idea. Now, you see all those websites listed on Google's search result listed above? If you were to check their meta tag key words, they will the key words "ceramic teapot" on them. Well, if your website has those key words too, then your site will also show up on Google's search results for those particular search words.
That link you gave earlier for that oestreichpottery.com website, let's take a look at their meta tags as a working example. This is a copy & paste of their head section:
<head>
<title>Welcome to Oestreich Pottery</title>
<meta name="description" content="Oestreich Pottery - Site now features an online gallery of pottery work created by Jeff Oestreich titled, 4 From a Firing: A Collector's Gallery.">
<META name="keywords" content="oestreich pottery, jeff oestreich">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
I hope this helps you to understand better what SEO is in part about.