One thing I would tribute Portland's success to would be the fact that the city's waterfront remains connected to the center of the town (whereas similarly sized coastal cities like Fall River and New Bedford allowed highways and poor development near their waterfronts).
Another would be that Portland is the economic center of not only Maine, but Northern New England for the most part (debatable with Manchester), it's one of 40 largest seaports (by volume of product unloaded/loaded per year), and there's no city close by that could be considered a competitor (whereas Fall River/New Bedford are about 10 mi. from each other and are within an hour of Boston, Providence, Cape Cod, Newport, and other simalarly sized cities such as Brockton, Taunton, Quincy, Newton, etc).
The only city that rivals Portland in Northern New England is Manchester, and it's far enough away to allow Portland to prosper all on its own. Portland (other than Manchester) is also the only city of significance between the Merrimack River and the Canadian border which means that while Portland's metropolitan area stretches from Kittery and Lewiston, People from all over Northern Maine, Northern New Hampshire, and Canadian border towns depend on it for retail (Bangor offers only so much) and other services. This contrasts to Massachusetts towns because South Eastern MA towns have Providence, Westeern MA towns have Springfield and Hartford in some instances.
Portland's scenic location and access to transportation points is huge as well. Because of the Downeaster, It's the Northern most rail connection to the Bos-Wash Megalopolis, It's got ferry connections to Canada and some of the beautiful islands in Casco Bay, and quite frankly, It's surrounded by relatively unspoiled coast line.
The icing on the cake with Portland is that it has nice older buildings in a pedestrian friendly area (I'm talking about the Old Port and Market Sq.) that they filled with little tourist shops and quaint pubs and restaurants (although I had issues with Cinque Terre the other night).
Portland has the perfect combination of a nice physical location (as does New Bedford), economy (so do Manchester, Springfield, and Providence), ease of access and driving ability (small town= ease of driving around), Lack of competition from nearby towns (Freeport and OOB only really serve to add to Portland's tourism), and finally a real pedestrian friendly area (from the attractions on Congress Street to the Old Port and Arts district is a 20 minute walk tops). Many similarly sized New Englad cities have one or more of these traits, but none have the complete combination like Portland.
(for the record, New Bedford is trying to set up a Fish Market that's similar to Porltand's farmer's market, but there are more reasons than "lack of soul" for New Bedford not being on par with Portland. Lack of hotels, competing nearby cities, cut-off waterfront, and lack of connection to rail and (as many) air travelers are a few reasons why New Bedford is behind Porltand.