Actually, none of these configuration options can be directly used on a typical home end-user machine. Option 2 works well if you have a hosted server with it's own domain name on which you configure Postfix. Options 3 and 4 work well for example in a corporate LAN, where you have a "real" domain recognizable in the DNS that your client machines are part of (btw., I don't fully understand the difference between options 3 and 4 just from the description - I would need to see the actual config files generated by these options to know for sure what they actually mean).
Regardless of what you choose you will probably need to modify the Postfix configuration files manually after initial set-up. Actually, because you will have to modify configuration anyway, option 1 is also not ruled out, contrary to what you assumed.
Email is probably the most complicated to configure of all network services and I would therefore advise to never rely "blindly" on whatever defaults the automatic configuration provides, but instead learn about how the Postfix configuration works and make all necessary corrections to the configuration file(s) manually. And you need to test, test and once again test your configuration to be sure everything works as intended. Email configuration is not something you can just "copy and paste" without understanding how it works.
A good start is http://www.postfix.org/BASIC_CONFIGURATION_README.html - this document asks some basic questions you need to answer before you start configuring Postfix and explains the basic concepts of the configuration. After you read that, take a look at http://www.postfix.org/STANDARD_CONFIGURATION_README.html - it presents configurations for several typical scenarios. However, as with the configuration menu you asked about, none of those scenarios fully apply to your case.
Probably closest to your needs is the scenario described as "Postfix on a null client", however there are two things that are not covered. A "null client" in this example is a machine that:
a) does not receive any mail from network;
b) does not deliver any mail locally - however if you need this, this can be changed (but I'm not covering this here as this answer is already very long);
c) sends all outgoing mail to smarthost, ie. a server that processes all mail for the domain you are sending as - in your case it probably will be the Yahoo server, the same you use when sending mail from your mail client.
I will elaborate a bit later on why you need to use smarthost. The one important thing that is missing here is that in your case your Postfix will need to authenticate to the smarthost. This is covered here: http://www.postfix.org/SOHO_README.html
You need to combine all information from these documents that is relevant to your case to get a single, reasonable and usable config file.
Why is it so complicated? Generally, because your machine does not have a "proper" domain name that will be recognized in the Internet. You can use whatever option - 2,3 or 4 - in the initial configuration and your Postfix will be able to send mail, however being able to send mail is one thing; to get your mail actually delivered to the destination is a different thing. Various anti-spam measures commonly used in the Internet may cause your mail simply get rejected by the receiving server if you use the default configuration. That's why modifications are needed.
The source of the problem is that every e-mail you send needs to have some sender e-mail address. If your machine had a "legitimate" domain name assigned to it, you could just configure it using option 2, and send emails using user@domain as the email address, where user is whatever username on your machine sends the email and domain is the domain name assigned to your machine.
But you don't have a reliable domain. So the first thing to consider is what sender address do you want to use for your e-mails? Probably the safest option is to use your real e-mail address, [email protected]. Otherwise - if you don't set any sender address in the sending program - Postfix will make up some default domain name, and will send for example mail from your cron job as "[email protected]" ("localdomain" is verbatim here). Because the domain "myubuntubox.localdomain" does not exist in the Internet, the receiving server will probably not accept this message and you will see a reject in your Postfix log.
So you should ensure that every program that will send mail will provide a correct sender address. That thing is basically outside of scope of Postfix configuration. You need to configure it in every program or script that sends mail. It is possible to make Postfix rewrite whatever sender address is used to [email protected], but it is a more complicated feature and you should already have a working configuration (and know something about configuring Postfix) before trying that. So it's better do it on the client side.
But sending with email address from yahoo.com domain is also problematic because IP address of your machine does not belong to the pool of addresses assigned to Yahoo. The receiving server may detect it and also reject your mail. And that's why you need to use a smarthost - that's what's happening in options 3 and 4. Your machine will pass all mail to smarthost, and smarthost will send it on further.
However, you cannot just pass the mail to Yahoo server as in the default configuration for "Postfix on a null client", because this example assumes that the smarthost "trusts" your machine and will accept mail from that machine with smarthost's domain in the sender address. But Yahoo server won't just trust your machine and let it send as yahoo.com. It will almost certainly reject such e-mail.
And here comes the third and most complicated part: you need to not send your mail to the smarthost, but submit it. Submission is what mail clients like Outlook or Thunderbird do. They don't connect to the default email port on the server (25), but to the special submission port (587 or 465, depending on the encryption method the client uses), authenticate to the server using your Yahoo login and password, and then proceed to send mail. After the client authenticates to the server, the server trusts it and will accept mail from it.
Similarly, your Postfix needs to authenticate to your smarthost, ie. Yahoo server. To achieve this, you need to install (besides Postfix) the authentication engine (Cyrus SASL) and configure Postfix as outlined in http://www.postfix.org/SOHO_README.html