I'll speak to the Atari BASIC issue.
MS BASIC for the 6502 was ported directly from the original 8080 code. On the 8080, the code was well under 8 kB, which allowed the complete BASIC interpreter and a number of OS-related extensions to be burned onto a single 8 kB ROM chip. On the 6502, where the machine code is not as compact, the code came in at about 7900 bytes, which didn't leave much room for anything else.
So MS decided to make two versions for the 6502, one at 7900 bytes with the original 6-byte floating point code, and a new version at about 8900 bytes that used a larger 9-byte format for floating point numbers. The later was intended to be used in 12 or 16 kB systems. These were known as the "8K" and "9K" versions, respectively.
When Atari licensed the 6502 version it was for a new console design that used 8 kB ROM cartridges. They decided to start with the smaller 7900 byte version, but they also wanted to add new commands to access the graphics and sound capabilities. In spite of (apparently) considerable effort through 1978, they failed to get all of this onto a single ROM.
One interesting feature of the original Atari 800 was that it had two cartridge slots. This was originally intended to solve this problem; one would hold the basic interpreter, and a second optional cartridge would include another set of commands to extend it. At some point they dropped this concept - which is good because it would have meant that the extended commands would never be available, as most of the machines sold were 400's which didn't have the second slot. It was really not well thought out. Some time later such a cartridge did appear, the Monkey Wrench, but these were very rare.
So instead they went looking for 3rd party companies that could fit a BASIC into a single cart. Sheppardson Microsystems (SMI) eventually won the contract. To make it fit, they dropped MS's system for handling strings and replaced it with a much simpler system using character arrays. They also moved several portions of the code out of the cartridge and into a separate OS ROM. This left the original OS shipping on two ROMS, an 8k with most of the system, and a separate 2k with the floating point routines.
This worked fine, and let the BASIC come in at just under 8 kB even with extensions like GRAPHICS and SOUND. But it also meant the BASIC was incompatible with the MS varieties. For instance, there were no LEFT/MID/RIGHT functions, which made porting MS programs rather hard. Also, because strings were arrays, you could not make "an array of strings", which was another widely used concept in many MS programs.
The original contract was signed sometime in the summer of 1978, and called for the final version to be delivered by April 1979. There was a bonus clause if they finished it early. Atari was planning on announcing the machines at the January 1979 CES show, so they were going to show their working-but-too-large MS version and then sell the machine starting that summer with the SMI version.
But what happened is that SMI worked hard and delivered a beta version in October so they could capture the bonus. Atari took that version to the CES. In the few months between delivery and CES, SMI found and fixed a number of bugs, one very nasty one in particular. However, when they delivered the update, they found that Atari had already started burning the October version to ROM, and so all the early machines shipped with the buggy version.
So that's the long version of why Atari BASIC is so different - basically because it is not from the same original code as most others which were licensed from the same original code base.
With the benefit of hindsight, we can say that the SMI supplied BASIC was terrible. In addition to being incompatible and buggy, it was, simply, very poor quality.
Many simple ways to speed up the code were not implemented, and the floating point routines were extremely slow, as they were not ported from the somewhat better MS versions.
As a result, Atari BASIC was by far the slowest of the 8-bit era. It always finished at the end of the Byte and CC benchmarks, even below a number of hand-held calculators!
Several replacements were offered over the years. Of particular note is TURBO-BASIC XL, which was fully compatible, offered a number of great extensions, and still fit into the same 8kB - in fact, you had about another 1700 bytes free for code! An unchanged Atari BASIC program would run three to five times faster in TURBO, putting it near the top of those same benchmarks. And then there was the compiler...
A number of the concepts in TURBO have not been used in other BASICs, and it would be interesting to see them ported over.