XPath の意味は
//*[@id="mhi2nd"]/a/text()
id="mhi2nd" という属性を持つ任意の要素の子 a の値です。
/html/head/title/text() はルートから html の子の head の子の title 要素の値です。
ちなみに Chrome で F12 で開発者ツール開いて、Ctrl+F とすると XPath を入力する欄が出てくるので、それで選択される要素を確認できます。
前者の Xpath でもちゃんとヤフオクが選択されましたよ。

XPath についてはこちらを参考にするとよいかと思います。
追記
XPath 自体はあっていることを示すために上記のことを紹介しました。
以下のコードで取得した HTML を保存したところ、
with open('test.html', 'w') as f:
f.write(response.body.decode("utf-8"))
Yahoo Japan を見るための環境を満たしていないと判断され、弾かれています。
なので、ブラウザでアクセスしたときの HTML は取得できていないため、上記の XPath が指す要素も存在しませんでした。
<nobr>Yahoo! JAPANトップページの機能を正しくご利用いただくには、下記の環境が必要です。</nobr><br>
Windows:Internet Explorer 11.0以上 / Chrome 最新版 / Firefox 最新版 / Microsoft Edge Macintosh:Safari 9.0以上<img src="//s.yimg.jp/images/clear.gif" alt="" width="1" height="15"><br>
※Internet Explorer 11.0以上をご利用の場合は、「<a href="https://www.yahoo-help.jp/app/answers/detail/p/533/a_id/43883">Internet Explorerの互換表示について</a>」を参考に、互換表示の無効化をお試しください。<img src="//s.yimg.jp/images/clear.gif" alt="" width="1" height="15"><br><img src="//s.yimg.jp/images/clear.gif" alt="" width="1" height="15">
2018/10/25 07:00 編集
2018/10/25 07:09
2018/10/25 10:38
2018/10/25 11:18
2018/10/25 12:33
2018/10/25 12:46